Форум: "Базы";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];
ВнизПРОБЛЕМА С ADOTable и MSAccess работаю с DELPHI 7 Найти похожие ветки
← →
MAXL (2002-10-14 10:53) [0]Уважаемые мастера,проблема такая: с помощью 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
← →
ЮЮ (2002-10-14 11:06) [1]>Не получается заменить записи в табл.2, они просто дополняются, не очищается т.1
Заменить, это значит удалить запись (Delete) перед вставкой новой, а не очистить (ClearFields). И вообще не понятен смысл манипуляций с таблицами.
← →
sniknik (2002-10-14 11:10) [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;
дальше как у тебя
← →
sniknik (2002-10-14 11:12) [3]p.s. - дальше как у тебя -имею ввиду первый цикл. второй не нужен.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c