Zitat von
BiBi:
Hallo nochmal,
habe auf die schnelle den Prog-Teil gefunden.
Delphi-Quellcode:
// Rechnungsnummer um 1 erhöhen
DataModule1.T_Rechnungen.Last;
LetzteRechNummer :=
DataModule1.T_Rechnungen.FieldByName('Rechnungsnummer').AsString;
iLetzteRechNummer := StrToInt(LetzteRechNummer);
iNeueRechNummer := iLetzteRechNummer + 1;
NeueRechNummer := IntToStr(iNeueRechNummer);
Ich habe die Rechnungsnummer als String gespeichert, weil ich "RE" davor schreibe. Ich hoffe ich konnte Dir damit etwas helfen.
Warum der ganze Quatsch? Nimm doch ein Autoinc-Feld oder ein Generator-Feld, das zählt automatisch hoch, den Startwert kannst du auch setzen. Und schon wars das.
Und das Argument mit dem RE davor ist doch völliger Käse. Warum soll das RE in der Datenbank stehen? Wozu braucht du es? Auf der Rechnung? Dann lass es beim Schreiben der Rechnung davor schreiben (berechnetes Feld). Selbst auf irgendwelchen Masken macht man das so. Schliesslich hat das "RE" KEINERLEI Infogehalt in der Datenbank. Oder benutzt du für Währungen auch ein Stringfeld, damit du das € (oder früher DM) dahinter schreiben kannst? In der Datenbank ist bei einem Währungsfeld nur die Zahl gespeichert, nicht aber das €.