Entwickler-Ecke
Datenbanken - Findnext funktioniert nicht mit Delete...
cyberax - Mo 28.05.07 11:52
Titel: Findnext funktioniert nicht mit Delete...
Hallo,
folgende Anweisung...
SQL-Anweisung
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| if ZQuery_rechnung_art.RecordCount=0 then exit; if messagedlg('Sollen wirklich alle Artikel dieser Rechnung gelöscht werden ?',mtWarning,[mbyes,mbno],0)=mryes then begin ZQuery_rechnung_art.first; repeat {Artikelbestand aktualisieren} with form13.Query_artikel do begin sql.text:='UPDATE artikel SET lagerbestand = lagerbestand + :wertbestand where barcode = :wertbarcode'; parambyname('wertbestand').value:=ZQuery_rechnung_art.fieldbyname('menge').Value; parambyname('wertbarcode').value:=ZQuery_rechnung_art.fieldbyname('artikelnummer').value; execsql; end; ZQuery_rechnung_art.delete; until ZQuery_rechnung_art.findnext=false; end; end; |
funktioniert leider nicht. D.h., wenn der Recordcount bei z.B. 2 liegt wird bei Findnext immer ein False geliefert.
Wo liegt mein Fehler ?? Gibt es generell eine bessere Möglichkeit solche Routinen zu beschleunigen?
Gruß cyberax
MarkusB - Mo 28.05.07 14:18
Moin Cyberax!
Vorschlag:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| if ZQuery_rechnung_art.RecordCount=0 then exit; if messagedlg('Sollen wirklich alle Artikel dieser Rechnung gelöscht werden ?',mtWarning,[mbyes,mbno],0)=mryes then begin ZQuery_rechnung_art.first; repeat with form13.Query_artikel do begin sql.text:='UPDATE artikel SET lagerbestand = lagerbestand + :wertbestand where barcode = :wertbarcode'; parambyname('wertbestand').value:=ZQuery_rechnung_art.fieldbyname('menge').Value; parambyname('wertbarcode').value:=ZQuery_rechnung_art.fieldbyname('artikelnummer').value; execsql; end; ZQuery_rechnung_art.delete; ZQuery_rechnung_art.first; <- Änderung until ZQuery_rechnung_art.eof; <- Änderung end; end; |
Es kann sein, dass das "ZQuery_rechnung_art.first;" nach dem "ZQuery_rechnung_art.delete;" nicht nötig ist. Vorrausetzung: der RecordZeiger wird nach dem Delete automatisch aktualisiert.
Viele Grüße
Markus
cyberax - Mi 30.05.07 17:14
Hi markus,
sorry, dass ich jetzt erst antworte. :oops:
So funktionierts! Vielen Dank!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!