sigo pensando en que debes tener cuidado con los begin y end en tu bloque de codigo
Código Delphi
[-]
for I := 1 to query2.fields.Count - 1 do
Begin
table2.FieldByName('noreg').AsInteger:=I;
table2.Fields[i].Value := query2.Fields[i].Value;
table2.post;
query2.Next;
end
creo que el post deberia estar fuera del bloque, porque solo te "grabaria" la primera modificacion y no veo un edit despues del query2.next