0

Problem mit fortlaufender Nummer

Moin, ich hab nochmal eine Frage:

Ich benutze folgenden Script, damit meine Datensätze ein Fortlaufende Nummer erhalten. 

Testnummer := "C" + format(cnt(select Testzyklus where date('Erstellt am') = today()), "000")

Wenn ich jetzt Datensätze mit den Nummern C1, C2, C3, C4, C5 erstelle und dann den Datensatz C4 lösche, habe ich zweimal den Datensatz C5. Das sollte auf keinen Fall passieren.

 

Hat da jemand einen Lösungsansatz ? 

 

Vielen Dank im Vorraus.

5 Antworten

null
    • ASB SEG Barsinghausen
    • EDV_ASB_Barsinghausen
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Kleine Ergänzung:

    Es gibt wenn ich einen neuen Datensatz erstelle wird ein zweites mal C5 eingetragen. 

    Entweder soll es dann mit C6 weitergehen oder eben mit C4 und dannach mit C6, das wäre die beste Lösung.

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Patrik, da ich selbst kein Freund davon bin, bei fest vergebenen Nummern Lücken zu füllen, würde ich sowas in der Art empfehlen:

     

    let lastNum := max((select Testzyklus where where date('Erstellt am') = today()).number(substr(Testnummer, 1, 3)));
    Testnummer := "C" + format(lastNum + 1, "000")

    • ASB SEG Barsinghausen
    • EDV_ASB_Barsinghausen
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Moin, ich hatte das so eingerichtet, allerdings besteht der oben genannte Fehler weiterhin. 

    Du hattest ein where zu viel glaube ich :) 

    Gibt es noch einen anderen Ansatz ?

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ja, ein "where" ist überflüssig, aber davon abgesehen funktioniert die Formel einwandfrei (als Trigger "Bei neuem Datensatz"). Mir kommt es zwar seltsam vor, dass die Nummerierung für jeden Tag wieder von vorn beginnen soll, aber das war für dich ja nicht das Problem.

    • ASB SEG Barsinghausen
    • EDV_ASB_Barsinghausen
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Stimmt, du hast recht :) 

    Dann hatte ich wohl falsch geguckt. 

     

    Wir betreiben ein COVID-19 Testzentrum, und die Nummerierung gibt den Besuchern eine feste Nummer, mit der sie später im Wartebereich aufgerufen werden. Damit man nicht irgendwann bei irre großen Nummern ist, soll die Nummer jeden Tag von 1 neu vergeben werden :). 

     

    Hast du eine Idee, wie ich nur alle Datensätze mit dem heuten Datum zählen kann ? 

    Das Feld mit den heute erstellten Datensätzen soll immer aktualisiert werden, wenn einer neuer erstellt worden ist.

    Am nächsten Tag soll natürlich wieder von 0 angefangen werden.