0

Fortlaufende Rechnungsnummer zählt nicht hoch...oder doch?

Hallo an alle,

ich bin verzweifelt: In einer Rechnungsdatenbank lasse ich die Rechnungsnummer mit folgendem Code bei Erstellung eines neuen Datensatzes hochzählen:

let Jahr := substr(text(year(today())), 2, 2);
let Nummer := substr(last(select Fahrten where substr('Rechnungsnr.', 1, 2) = Jahr).'Rechnungsnr.', 4, 4);
'Rechnungsnr.' := "T" + Jahr + "-" + format(number(Nummer) + 1, "0000")

sodass sich die Jahreszahl im neuen Jahr automatisch ändert. Jetzt sagt der Kunde auf einmal, dass die Zahl nicht mehr hochzählt. Das Problem: Ich kann den Fehler einfach nicht finden. Ich habe die fast exakt gleiche Datenbank (die Rechnungsnummer wurde schon immer nur bei Neuerstellung eines Datensatzes beeinflusst) als Backup bei mir liegen und dort funktioniert alles tadellos. Aber egal, was ich in der Live Datenbank ändere, die Zahl zählt einfach nicht mehr hoch. Wenn ich alle Datensätze lösche und neu anfange, fängt es bei "T23-0131" an - warum?

Kann mir irgendjemand helfen? Vielen Dank im Voraus!

LG Markus

3 Antworten

null
    • Markus_Weise
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Ok so wie es aussieht, hört die Rechnungsnummer je nach Backup-Stand der Live DB immer bei einer anderen Zahl auf, hochzuzählen. Mal ist es die 131, mal die 139, mal die 148. Ich weiß nicht,ob das hilft, aber ich kann mir daraus nichts zusammenreimen...

    • Torsten_Stang.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Nimm mal

    let Nummer := max((select Fahrten where substr('Rechnungsnr.', 1, 2) = Jahr).substr('Rechnungsnr.', 4, 4))
    
    • Markus_Weise
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Ganz vielen Dank, das scheint zu funktionieren! 

Content aside

  • vor 1 JahrZuletzt aktiv
  • 3Antworten
  • 73Ansichten
  • 2 Folge bereits