4D v14.3

Sequence number

Home

 
4D v14.3
Sequence number

Sequence number 


 

Sequence number {( Tabellenname )} -> Funktionsergebnis 
Parameter Typ   Beschreibung
Tabellenname  Tabelle in Tabelle, für deren Datensätze eine fortlaufende Nummer vergeben wird
Ohne Angabe Haupttabelle
Funktionsergebnis  Lange Ganzzahl in Sequenznummer

Sequence number gibt die nächste Sequenznummer für Tabellenname zurück. Die Sequenznummer ist für jede Tabelle einmalig und wird für jeden neuen Datensatz der Tabelle um 1 erhöht. Die Nummerierung beginnt standardmäßig bei 1. Über den Befehl SET DATABASE PARAMETER können Sie die Nummerierung für eine Tabelle ändern.

Hinweis: Gibt es keinen aktuellen Datensatz und wurde die Nummerierung über den Befehl SET DATABASE PARAMETER geändert, wird diese Nummer zum Erstellen des nächsten Datensatzes reserviert, aber von der Funktion Sequence number nur zurückgegeben, wenn aktuell der Befehl SAVE RECORD aufgerufen wurde.

Die Funktion Sequence number ist hilfreich, wenn:

  • 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 die Nummer diesem Feld zu.

Die von dieser Funktion für Tabellenname zurückgegebene Sequenznummer ist dieselbe Nummer, die generiert wird, wenn über den Inspektor für ein Feld dieser Tabelle die Option Autoincrement markiert oder über das Symbol #N als Standardwert für ein Feld dieser Tabelle in einem Formular zugewiesen wurde. Weitere Informationen dazu finden Sie im Abschnitt Standardwerte des Handbuchs 4D Designmodus.

Hinweis: Die automatische Erhöhung der Nummer lässt sich auch über das SQL Attribut AUTO_INCREMENT setzen.

Soll die Sequenznummer nicht mit 1 beginnen, müssen Sie lediglich die Differenz zu Sequence number hinzufügen. Folgende Methode lässt die Nummerierung der Datensätze mit 1000 beginnen:

 [Table1]Seq Field :=Sequence number([Table1])+999

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

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Datensätze
Nummer: 244

 
GESCHICHTE 

Geändert: 4D 2004.1

 
SIEHE AUCH 

Datensatznummern
Record number
Selected record number

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v12.4)
4D Programmiersprache ( 4D v11 SQL Release 6)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v13.5)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)