Einzelnen Beitrag anzeigen

Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Schleife nimmt ersten und letzten Datensatz nicht

  Alt 5. Jan 2008, 22:08
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
Michael Kübler
  Mit Zitat antworten Zitat