so einfach geht das nicht.
Du musst die Daten Feld für Feld und Datensatz für Datensatz kopieren.
Hier erst mal eine Prozedur die einen Datensatz kopiert:
Der Parameter TagMask dient dazu ggf. gezielt einzelne Felder vom Kopieren auszunehmen. (Parameter kannst du ignorieren)
Delphi-Quellcode:
// Kopiert gleichnamige Felder von Src nach Dst
procedure CopyDataSetRecord(Src,Dst: TDataSet; TagMask:Integer=0);
var
i: Integer;
fSrc,fDst: TField;
begin
for i := 0 to Src.FieldCount-1 do
begin
fSrc := Src.Fields[i];
fDst := Dst.FindField(fSrc.FieldName);
if Assigned(fDst) and ((fSrc.Tag and TagMask)=0) then
begin
fDst.Value := fSrc.Value;
end;
end;
end;
Dazu gehört eine Schleife über alle Datensätze:
Delphi-Quellcode:
while not Query1.Eof do
begin
AdoQueryZiel.Append; // neu leeren Datensatz anhängen
CopyDataSetRecord(Query1, AdoQueryZiel); // befüllen
AdoQueryZiel.Post; // und wegschreiben
Query1.Next; // zum nächsten Datensatz
end;