Datensatz-IDs in Ninox handhaben
Datensatz-IDs in Ninox
- Jeder neue Datensatz in Ninox erhält eine eindeutige ID (Bezeichner).
- Die Nummerierung beginnt bei einer neuen Tabelle mit
1und wird für jeden neuen Eintrag um1erhöht (2,3usw.). - Gelöschte IDs werden nicht neu vergeben. Die höchste ID der Tabelle gibt daher die Gesamtzahl der jemals angelegten Datensätze wieder, gelöschte und nicht mehr sichtbare eingeschlossen.
- Darstellung der ID:
- IDs lassen sich als Zahl oder als Text darstellen.
- Als Text besteht die ID aus der ID der Tabelle (ein oder mehrere Großbuchstaben) und der Nummer des Datensatzes.
Beispiel:"A1"
Das Wichtigste zu IDs
- Eine ID in Text umwandeln:
- Verwenden Sie die Funktion
string(), um eine textliche Darstellung der ID zu erhalten. - Die Funktion
text()liefert nur den Zahlenteil der ID als Text. Beispiel:"1".
- Verwenden Sie die Funktion
- Beispiel:
string(maTable.id); // Correct textual representation, e.g., "A1"
text(maTable.id); // Only the numeric part as text, e.g., "1"
- IDs in Ausdrücken verwenden:
- Bei Rechenoperationen oder Verkettungen nimmt die ID den Typ der anderen Daten an.
- Beispiel:
var t := "Num ID: " + maTable.id;
Ergebnis: Num ID: 1
Datensätze anhand der ID suchen
Um einen Datensatz in einer where-Klausel über seine ID zu finden, können Sie entweder eine Zahl oder eine Textdarstellung verwenden.
Mit einer Zahl:
select Customer where id = 1;
Mit Text:
Achten Sie bei Text darauf, dass die ID sowohl die ID der Tabelle als auch die Nummer des Datensatzes enthält.
Beispiel:
select Customer where id = "B1";
Die Datensatznummer aus einer ID herauslösen
Mit dieser Funktion holen Sie die Datensatznummer aus einer textlichen ID (z. B. A1) heraus:
function recordNumber(id : text) do
"Capture the digit group.";
number(extractx(id, "^[A-Z]+([0-9]+)$", "", "$1"))
end;
"Example: apply to the current record’s ID"
var numId := recordNumber(string(myId));
string(myId) wandelt die ID in Text um.
Die RegExp ^[A-Z]+([0-9]+)$ bedeutet:
^[A-Z]+→ ein oder mehrere Buchstaben am Anfang,([0-9]+)→ die gesuchten Ziffern (Fanggruppe 1),$→ Ende der Zeichenfolge.
extractx(..., "", "$1") gibt nur die gefangenen Ziffern zurück.
number(...) wandelt diese Ziffernfolge in eine Zahl um.
