Форум: "Базы";
Текущий архив: 2002.10.07;
Скачать: [xml.tar.bz2];
ВнизОшибка удаления Найти похожие ветки
← →
RDA (2002-09-14 10:10) [0]Пытаюсь удалить запись в таблице Accses, при этом вылетает такая ошибка: EOleException with message "Невозможно найти указанную строку дляобновления, некоторые значения были изменены со времени ее последнего чтения" - и это после добавления этой строки (Insert) и сразу сохранения (Post). Вижу ее в гриде. После повторного запуска проги - все работает нормально. Если кто-нить знает что сия ошибка означает - буду очень признателен за помощь.
← →
Lola (2002-09-14 13:25) [1]Конечно же было легче, если бы был кусок кода, но пока попробуй после Post сделать Refresh
← →
RDA (2002-09-14 13:32) [2]Пробовал - не помагает, т.к. таблица уже находиться в состоянии dsBrowse.
Вот кусок кода
function Question_Delete(Table:TADOTable):Boolean;
begin
if not Table.IsEmpty then
begin
if (Application.MessageBox("Вилучити запис?","Підтвердження",
MB_YESNO+MB_ICONQUESTION)=idYES) then Result:=True
else Result:=False;
end
else Result:=False;
end;
procedure TfmArhiv.DelButClick(Sender: TObject);
begin
if Question_Delete(PLAT)=True then PLAT.Delete;
end;
← →
Lola (2002-09-14 13:37) [3]Кусок добавления и записи, пожалуйста...
← →
RDA (2002-09-15 09:09) [4]>> Lola и всем хорошим людям.
Кусок добавления:
function ShowPlat:Boolean;
var
fmPlat:TfmPlat;
begin
fmPlat:=TfmPlat.Create(Application);
try
if fmPlat.ShowModal=mrOk then Result:=True
else Result:=False;
finally
fmPlat.Free;
end;
end; //На форме обычные компоненты доступа к полям базы типа DBEdit.
procedure TfmArhiv.AddButClick(Sender: TObject);
begin
if ShowPlat=True then PLAT.Post
else PLAT.Cancel;
end;
← →
RDA (2002-09-15 09:11) [5]>> Сори...ошибка
procedure TfmArhiv.AddButClick(Sender: TObject);
begin
PLAT.Insert;
if ShowPlat=True then PLAT.Post
else PLAT.Cancel;
end;
← →
RDA (2002-09-15 11:16) [6]Ну неужели некто не может подсказать что здесь не так?
← →
Lola (2002-09-15 12:25) [7]Я увидела, что запись добавлена, а значания полям не присваиваются? Боюсь, что и автоинкрементного поля нет, да?
← →
LordOfSilence (2002-09-16 09:06) [8]Александр, попробуйте поиграть со свойствами
CursorLocation и CursorType.
← →
Lord Warlock (2002-09-16 09:19) [9]Из собственного опыта работы с Access -
если в таблице нет автоинкрементного ключевого поля (его можно завести и не отображать), то в аццессе начинаются чудеса, подобные вышеприведенным, и не только с добавлением и удалением, но и с редактированием.
И еще насчет процесса добавления - компонент PLAT как-нибудь присоединяется к run-time created форме или нет?
← →
RDA (2002-09-16 10:05) [10]Да все нормольно создается, записи добавляються, отображаются в визуальных компонентах, автоинкрементное поле тоже есть, но от этого не легче - проблема осталась.
← →
Johnmen (2002-09-16 10:14) [11]>Пытаюсь удалить запись .....
>.... - и это после добавления этой строки (Insert) и сразу >сохранения (Post)
Я вот почитал твой вопрос и не понял, удаление или добавление ?
Подробно опиши последовательность действий...
← →
RDA (2002-09-16 10:42) [12]>>Johnmen
Последовательность действий такая:
Insert
Post
Delete <<Вышеприведенная ошибка
← →
Lola (2002-09-16 11:26) [13]Я же тебе писала, перед Post вставь например :
Table1.FieldByName("Name").AsString:=DBComboBox1.Text;
← →
RDA (2002-09-16 11:42) [14]Я конечно попробую, но что-то смысла пока не понял.
← →
RDA (2002-09-16 11:57) [15]>>Lola
Не помогло. Есть у кого идеи.
← →
sniknik (2002-09-16 13:15) [16]а попробуй Append вместо Insert, в Append можно сразу значения передать из формы (тогда вместо DBEdit простой Edit использовать). если без изменения логики то пустые значения поставь и посмотри.
кстати Insert никаких ошибок не выдает? пустые значения без автоинкремента - должен.
я к примеру стараюсь не пользоватся такими функциями (мало ли как ADO их интерпретирует) вместо этого сам SQL комманду составляю вроде
INSERT INTO dtproperties (Fields) VALUES (Values)
и все работает как ожидалось.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.10.07;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c