He encontrado el siguiente procedimiento que creo que me servirá (tiene buena pinta):
procedure MoverDatosTabla(prmDSOrigen, prmDSDestino :TDataSet);
var Campo :string;
i :integer;
begin
prmDSDestino.EmptyTable;
prmDSDestino.Open;
with prmDSOrigen do begin
Open;
while not EOF do begin
prmDSDestino.Append;
for i := 0 to FieldCount-1 do begin
Campo := prmDSOrigen.Fields[i].FieldName;
prmDSDestino[Campo] := prmDSOrigen[Campo];
end;
prmDSDestino.Post;
Next;
end;
Close;
end;
prmDSDestino.Close;
end;
Os lo dejo aquí por si a alguien le interesa.
Muchas gracias a todos por vuestra colaboración.
|