А вам не кажется, что копирование из себя в себя это не совсем то, что вам надо? Кстати, код, если нет BLOB полей, вполне рабочий и он делает ровно, то, что написано. Вот только строка-то исходника какая?
Если смотрерть на картику, то пусть верхний грид привязан к источнику данных DataModule3.ADOTable1, а нижний - к DataModule3.ADOTable2. Тогда код надо немного изменить следующим образом:
Код:
DataModule3.ADOTable2.Append;
For I := 0 To DataModule3.ADOTable1.Fields.Count-1 Do
if DataModule3.ADOTable1.Fields[i].FieldName <> 'Код' Then
DataModule3.ADOTable2.Fields[i].Value := DataModule3.ADOTable1.Fields[i].Value;
DataModule3.ADOTable2.Post;