0

Erstellung einer laufenden Nummer

Guten Morgen,

ich habe eine Frage zur Gernerierung einer laufenden Nummer.

In einer Datenbank für Auftragsabwicklung erstelle ich eine fortlaufende Nummer, 4-stellige Jahreszahl + 4-stellige Zahl +1.

Das Problem ist nun, das das Vorjahr eine höhere laufende Nummer hat als die aus diesem Jahr. Nun bekomme ich eine Zahl generiert beginnnend mit Jahrezahl 2020 und der höchsten lfd. Nummer des Vorjahres +1.

 

let myYear := year(today());
let myID := max((select Kommissionen).number(substr(Kommission, 4))) + 1;
Kommission := myYear + format(myID, "0000")

 

Wer kann mir hier mal einen Tip geben? Vielen Dank im Voraus.

 

Viele Grüße

Dietmar

2 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Dietmar, man könnte beim "select" auf die ersten vier Stellen der Kommissionsnummer filtern:

     

    let myYear := year(today());
    let myID := max((select Kommissionen where number(substr(Kommission, 0, 4)) = myYear).number(substr(Kommission, 4, 4))) + 1;
    Kommission := text(myYear) + format(MyID, "0000")

     

    Oder nach Datum, falls es im Datensatz ein entsprechendes Feld gibt:

     

    ... where year(Datum) = myYear ...

    • Dietmar_Press
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Copytexter,

    vielen Dank für deine Hilfe, so passt das!

     

    Super.