Version 3
Sequence number {(Tabellenname)} Numerisch
| Parameter | Typ | Beschreibung | |
| Tabellenname | Tabelle | Tabelle, für deren Datensätze eine fortlaufende | |
| Nummer vergeben wird oder Haupttabelle | |||
| ohne Angabe | |||
| Funktionsergebnis | Numerisch | Sequenznummer |
Beschreibung
Sequence number gibt eine einmalige lange Ganzzahl für jeden neuen Datensatz der Tabelle Tabellenname zurück.
Tabellenname ist optional. Wird dieser Parameter nicht angegeben, bezieht sich Sequence number auf die Haupttabelle.
Die Sequenznummer wird von 1 in Einer-Schritten hochgezählt. In Formularen können Sie diese Funktion ansprechen, indem Sie als Standardwert #N in ein Feld vom Typ Lange Ganzzahl, Ganzzahl, Zahl oder Alpha eingeben. Setzen Sie die Funktion Sequence number für ein Feld vom Typ Alpha ein, müssen Sie die Nummer mit der Funktion String in einen Text umwandeln. Löschen Sie einen Datensatz, wird diese Nummer nicht erneut vergeben. Weitere Informationen zum Zuweisen von Standardwerten finden Sie im Handbuch 4th Dimension Designmodus.
Sie müssen Sequence number anstatt #N verwenden, wenn:
der Datensatz durch eine Methode erzeugt wurde.
die Numerierung nicht mit 1 beginnen soll.
nicht in Einer-Schritten hochgezählt werden soll.
die Nummer Teil eines Codes sein soll, z.B. einer Artikelnummer
Um eine Sequenznummer über eine Methode zu speichern, erstellen Sie ein Datenfeld vom Typ Lange Ganzzahl in der Tabelle und weisen Sie die Nummer diesem Feld zu.
Soll die Sequenznummer nicht mit 1 beginnen, müssen Sie lediglich die entsprechende Differenz hinzufügen. Folgende Methode läßt die Numerierung der Datensätze mit 1000 beginnen:
[Table1]Seq Field := Sequence number ([Table1]) + 999
Beispiel
Folgendes Beispiel ist Teil einer Formularmethode. Sie testet, ob es ein neuer Datensatz ist; z.B. ob die Rechnungsnummer ein leerer String ist. Ist der Datensatz neu, weist die Methode eine Nummer zu. Diese Nummer setzt sich aus zwei Teilen zusammen: Der Sequenznummer und dem Benutzerkürzel, das beim Öffnen der Datenbank eingegeben wird. Die Sequenznummer wird als fünfstelliger String formatiert:
If ([Invoices]Invoice No = "") ` Ist Rechnungsnummer leer, erstelle neue Rechnungsnummer ` Rechnungsnummer ist String, der mit Benutzerkürzel endet. [Invoices]Invoice No:=String(Sequence number;"00000")+[Invoices]OpID End if
Referenz
Record number, Selected record number, Über Datensatznummern.