Einzelnen Beitrag anzeigen

kluckweb

Registriert seit: 8. Okt 2005
149 Beiträge
 
#5

Re: Schleife nimmt ersten und letzten Datensatz nicht

  Alt 5. Jan 2008, 23:27
In der Tabelle AUSGABEN sind drei Datensätze drin.

Der gesamte Code lautet:

Delphi-Quellcode:
 Kassenbuch.ExecSQL('delete from kassenbuch');

 // filtern
 Ausgaben.active := false;
 Ausgaben.SQL.Clear;
 Ausgaben.SQL.Add('select * from ausgaben');
 Ausgaben.active := True;

 // Ausgaben ermitteln
 Ausgaben.First;
 while not Ausgaben.Eof do
  begin
      Kassenbuch.Append;
      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;
 Kassenbuch.Refresh;
 showMessage('Das Kassenbuch wurde erfolgreich erstellt');
Und wenn dieses Ereignis ausgeführt wird, wird lediglich der erste Datensatz aus der DB AUSGABEN kopiert. Die beiden nächsten nicht mehr.

Merkwürdiger Weise biegt der beim 2. oder 3. mal auslösen des Ereignises in eine endlos Schleife ein und kopiert den zweiten Datensatz immer und immer wieder ... macht keinen Sinn in meinen Augen.

Und ich steh langsam wirklich auf dem Schlauch, wo mein Denkfehler ist.

Nochmals danke für Eure Hilfe.
  Mit Zitat antworten Zitat