![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ПРОБЛЕМА С ADOTable и MSAccess работаю с DELPHI 7
MAXL © (2002-10-14 10:53:00)Уважаемые мастера,проблема такая: с помощью ADOTable перенести все записи из одной Adotable1 таблицы в другую
Adotable2 в режиме замены ( с изменениями), затем очистить таблицу 1 и перенести в нее содержимое
табл.2. Кажется простым, но на деле так не получается.
Не получается заменить записи в табл.2, они просто дополняются, не очищается т.1
Подскажите плиз.
Вот мой код:
procedure TForm1.Button1Click(Sender: TObject);
begin
REPEAT
adotable2.insert;
adotable2.FieldByName("ИМЯ").AsString:=adotable1.FieldByName("ИМЯ").AsString;
adotable2.FieldByName("ПРИМЕЧАНИЯ").AsString:=adotable1.FieldByName("ПРИМЕЧАНИЯ").AsString;
adotable1.Next; // переводим курсор на следующ запись
UNTIL adotable1.Eof;
repeat
adotable1.edit;
adotable1.ClearFields;
adotable1.Next;
until adotable1.eof;
end;
работаю с DELPHI 7
sniknik (2002-10-14 11:12:00) [1]p.s. - дальше как у тебя -имею ввиду первый цикл. второй не нужен.
sniknik (2002-10-14 11:10:00) [2]потому что у тебя идет безусловный adotable2.insert;
а надо условие, береш запись сравниваеш по какому нибудь полю если найдена то adotable2.edit; нет adotable2.insert;
примерно так
if TDest.Find(TSour.Fields[MasT2[2]].AsString ,True, False) then begin
TDest.Edit;
UpEdit:= UpEdit+ 1;
end else begin
TDest.Append;
UpAdd:= UpAdd+ 1;
end;
дальше как у тебя
ЮЮ (2002-10-14 11:06:00) [3]>Не получается заменить записи в табл.2, они просто дополняются, не очищается т.1
Заменить, это значит удалить запись (Delete) перед вставкой новой, а не очистить (ClearFields). И вообще не понятен смысл манипуляций с таблицами.