4D v16.3Sequence number |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Sequence number
Sequence number
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 neu angelegten Datensatz der Tabelle um 1 (*) erhöht. (*) Aus Optimierungsgründen startet die Erhöhung nur beim ersten Aufruf von Sequence number oder über ein Feature mit Zugang zur Sequenznummer (siehe unten). Außerdem lässt sich die Nummerierung über den Befehl SET DATABASE PARAMETER verändern. Von daher lässt sich der zurückgegebene Wert nicht als Zählen von Datensätzen der Tabelle Tabellenname bewerten. 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:
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 über die Option Autoincrement in den Feldeigenschaften des Inspektors 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="")
Siehe auch
|
EIGENSCHAFTEN
Produkt: 4D GESCHICHTE
Geändert: 4D 2004.1 ARTIKELVERWENDUNG
4D Programmiersprache ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||