Re: Letzte Rechnungsnummer um 1 hochzählen
Nachtrag:
@marabu Zitat:
Delphi-Quellcode:
Noch ne Frage zu SQL.Text:
procedure TFormRechnungen.QueryRechnungenBeforInsert(DataSet: TDataSet);
begin EditRNr.Text := IntToStr(NextKey('RNr', 'Rechnungen')); end;
Delphi-Quellcode:
Damit wird immer die "größte" vorhandene Rechnungsnummer hochgezählt.
SQL.Text := Format('SELECT MAX(%s) FROM %s', [fldName, tblName]);
Ich möchte, dass die Nr. frei wählbar bleibt, d.h. wird nach "1000" nur "100" eingegeben, dann soll die nächste Nr. mit 101 hochgezählt werden. Was gibt's dafür als Ersatz für "MAX"? Gruß Lombi |
Re: Letzte Rechnungsnummer um 1 hochzählen
Dann nimmt man aucch max schränkt aber die Ergebnismenge ein.
|
Re: Letzte Rechnungsnummer um 1 hochzählen
Hallo Lombi,
es fällt mir erst jetzt auf, aber OnBeforeInsert() ist nicht der beste Zeitpunkt für das Zuordnen der neuen Rechnungsnummer. Probiere es mit OnBeforePost(), dann ist auch die Zuweisung an das Feld kein Problem, weil der DataSet sich nicht im Browse-Modus befindet. Du versuchst das Problem offensichtlich zu umgehen, indem du eine Zuweisung an ein Edit-Control machst. Ich rate dir zu fortlaufenden Rechnungsnummern, welche durch dein Programm vergeben werden. Eine gleichzeitig mögliche Eingabe durch den Benutzer schafft mehr Probleme als sie löst. Der Nummernverbrauch dürfte den Vorrat nie erschöpfen, wenn du den Wertebereich für Rechnungsnummern ausreichend dimensionierst. Sollte es aus welchen Gründen auch immer Lücken geben, dann ist eine Betriebsprüfung das Letzte was du dir wünschst. Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz