Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.07;
Скачать: CL | DM;

Вниз

Ошибка удаления   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.014 c
6-21173
Alex90210
2002-08-07 14:41
2002.10.07
TServerClientWinSocket


14-21222
Glivinsky
2002-09-11 12:21
2002.10.07
Доморощенная страница Дядьки Руса.


1-20964
tytus
2002-09-26 12:07
2002.10.07
Доступ к папке.


1-20980
neodiX
2002-09-24 17:14
2002.10.07
TP7.0 & Delphi


1-20984
Шурик Ш
2002-09-26 16:16
2002.10.07
Значащие символы