Zitat von
kluckweb:
Hallo zusammen,
bräuchte mal kurz Eure Hilfe.
Bei folgender Schleife wird der erste und letzte Datensatz leider nicht kopiert und ich weiß wirklich nicht warum. Könnt Ihr helfen?
Der Code ist:
Delphi-Quellcode:
Ausgaben.First;
while not Ausgaben.Eof do
begin
Kassenbuch.Append;
Kassenbuch.Edit;
Kassenbuch.FieldbyName('datum').asVariant := Ausgaben.FieldbyName('datum').asVariant;
Kassenbuch.FieldbyName('zurgnr').asInteger := Ausgaben.FieldbyName('zurgnr').asInteger;
Kassenbuch.FieldbyName('betrag').asVariant := Ausgaben.FieldbyName('betrag').asVariant * -1;
Kassenbuch.FieldbyName('betreff').asString := Ausgaben.FieldbyName('vermerk').asString;
Ausgaben.Next
end;
Kassenbuch.Post;
Ich meine die letzten beiden Anweisungen sollten genau umgekehrt sein und beide in die Schleife integriert werden (ungetestete Theorie!):
Delphi-Quellcode:
Ausgaben.First;
while not Ausgaben.Eof do
begin
Kassenbuch.Append;
Kassenbuch.Edit;
Kassenbuch.FieldbyName('datum').asVariant := Ausgaben.FieldbyName('datum').asVariant;
Kassenbuch.FieldbyName('zurgnr').asInteger := Ausgaben.FieldbyName('zurgnr').asInteger;
Kassenbuch.FieldbyName('betrag').asVariant := Ausgaben.FieldbyName('betrag').asVariant * -1;
Kassenbuch.FieldbyName('betreff').asString := Ausgaben.FieldbyName('vermerk').asString;
Kassenbuch.Post;
Ausgaben.Next
end;
//EDIT: Wo war der Rote Kasten?!?!
Zitat:
wundert mich, dass er doch so viel kopiert...
Wenn ein xxx.Append automatisch ein Post durchführt, dann wäre es doch damit
IMHO erklärt