0

Fortlaufende Nummer hängt ab 1000

Hi, hab nicht erwartet, dass wir in einem Jahr auf eine 4-stellige fortlaufende Nummernzahl kommen ...

jetzt haben wir den Salat, dass wir bei dem "trigger bei neuem datensatz"-code nur noch die 1000 hinten als fortlaufende Nummer bekommen - und zwar immer ... irgednwie blöd, ist jetzt nicht mehr fortlaufend, sondern feststeckend

hab schon alles versucht, aber mangels tiefem verständnis des codes häng ich ... bin sicher, eine/r unter euch sieht sofort was zu tun ist

danke im voraus

let myJ := format('Aufnahme am', "YYYY");
let lastNum := max((select KBs where substr('KB Nr.', 3, 4) = myJ).substr('KB Nr.', 8));
'KB Nr.' := "KB-" + myJ + "/" + format(number(lastNum) + 1, "000")

4 Antworten

null
    • pma_mgmt
    • vor 2 Wochen
    • Gemeldet - anzeigen
    let lastNum := max((select KBs where substr('KB Nr.', 3, 4) = myJ).number(substr('KB Nr.', 8)));
    

    dein substr('KB Nr.', 8) interpretiert die 999 als Text. Eine Text 1000 ist alphabetisch vor der 999, wodurch die 999 immer die höchste Zahl bleibt. 

    Indem du die 999 zuerst als Zahl interpretierst, erhältst du die 1000 als höchsten Wert :-)

      • Astavakra
      • vor 2 Wochen
      • Gemeldet - anzeigen

      das klingt logisch und danke dafür ... leider ist mir nicht ganz klar, was ich jetzt tun soll ... sorry :)

      • pma_mgmt
      • vor 2 Wochen
      • Gemeldet - anzeigen

       ersetze die zweite Zeile deines Codes durch die von mir geschriebene Zeile ;-)

      • Astavakra
      • vor 2 Wochen
      • Gemeldet - anzeigen

      danke vielmals ...