0

Automatisch hochzählende Nummerierung

Liebe Community,

ich habe eine Tabelle, die in einem Feld für jeden Datensatz eine laufende Nummer als Trigger bei einem neuem Datensatz anlegt. Das Format umfasst stets exakt dieselbe Anzahl an Zeichen und ist aufgebaut nach "RE-2025-XXX", wobei sich nur die letzten drei Ziffern laufend ändern. Ich habe mit folgendem Code versucht, die hinteren drei Zeichen zu extrahieren, da nur diese sich laufend ändern sollen:

let myRN := max((select Ausgangsdokumente where year(Rechnungsdatum) = 2025).substr('ID-Nr.', 9, 3));  'ID-Nr.' := "AD-" + 2025 + "-" + format(number(myRN) + 1, "000")

 

 

Das hat auch bislang immer gut funktioniert, solange die Zahlen unter 100 geblieben sind. Allerdings bekomme ich keine Zählung über 100, d. h. alle neuen Datensätze haben damit die Nummer 100 (s. die unteren beiden):

Wo liegt das Problem und wie kann ich den Code modifizieren, dass die Zählung bei 101, 102 etc. fortgeführt wird?

Ich danke euch vorab schon herzlich für Eure Mühen!

2 Antworten

null
    • Leonid_Semik.2
    • vor 8 Tagen
    • Gemeldet - anzeigen

    Hallo Vadomar mit  

    substr('ID-Nr.', 9, 3)  

    kriegst du nur zwei letzten Zeichen. Die Zählung begint mit 0 und richtig wäre substr('ID-Nr.', 8, 3)  

      • info.99
      • vor 6 Tagen
      • Gemeldet - anzeigen

       Hallo Leonid, danke für Deine Antwort – das funktioniert!

      Ich hatte es indes mit demselben Ansatz selbst versucht, aber eine andere Bedingung in der Tabelle hat verhindert, dass weiter hochgezählt hat; funktioniert jetzt, super, danke!

Content aside

  • vor 6 TagenZuletzt aktiv
  • 2Antworten
  • 36Ansichten
  • 2 Folge bereits