Te digo que es similar a lo que estás haciendo tú:
Código Delphi
[-]
Button1.Enabled := false;
Done := false;
Table1.Open;
AdoTable1.Open;
while not Table1.Eof and not Done do
begin
Application.ProcessMessages;
with AdoTable1 do
begin
Append;
Fields[0].AsString := Table1.Fields[0].AsString;
Fields[1].AsString := Table1.Fields[1].AsString;
Fields[2].AsDateTime := Table1.Fields[2].AsDateTime;
Fields[3].AsString := Table1.Fields[3].AsString;
Fields[4].AsString := Table1.Fields[4].AsString;
Fields[5].AsString := Table1.Fields[5].AsString;
Fields[6].AsString := Table1.Fields[6].AsString;
Fields[7].AsString := Table1.Fields[7].AsString;
Fields[8].AsString := Table1.Fields[8].AsString;
end;
Table1.Next;
end;
if AdoTable1.State = dsInsert then
AdoTable1.Post;
Button1.Enabled := true;
Done := true;
El decrecimiento radical lo obtuve con las dos propiedades que te menciono.
// Saludos