ID+1
Hallo,
im gestrigen Webinar wurde das schreibgeschützte Textfelt mit fortlaufender Nummerierung besprochen. Ich versuchte heute den Script anzupassen. Es fünktioniert auch soweit bis auf das Nummer+1. Was ist falsch?
let letzteNr := max((select Patienten where substr('lfd. Pat.-ID', 3, 2) = format(today(), "YY")).substr('lfd. Pat.-ID', 6));
'lfd. Pat.-ID' := "Litembo_" + format(today(), "YYYY") + "-" + format(number(letzteNr) + 1, "0000")
Dankeschön
5 Antworten
-
Hallo, versuch's mal so:
let letzteNr := max((select Patienten where substr('lfd. Pat.-ID', 8, 4) = format(today(), "YYYY")).substr('lfd. Pat.-ID', 13));
'lfd. Pat.-ID' := "Litembo_" + format(today(), "YYYY") + "-" + format(number(letzteNr) + 1, "0000")
-
Danke....funktioniert jetzt tadellos
-
Sehr schön. Freut mich.
-
Könnte es sein, dass eine automatische ID zweimal vergeben wird, wenn 2 Leute gleichzeitig an der Datenbank arbeiten und was würde dann bei der Syncronisation passieren?
-
Nein, das kann m. E. nicht sein, wenn die Vergabe der Nummer nicht an den Benutzer geknüpft ist. Mit obigem Code wird ja immer die höchste Nummer ermittelt und um 1 erhöht. Wenn also Nutzer A die Nummer "0013" erzeugt (wodurch auch immer), dann wird es eine Sekunde später bei Nutzer B die Nummer "0014" sein. Und da bei der Cloud-Version die Daten auf dem Server gespeichert sind, greifen auch immer alle Nutzer auf denselben, aktuellen Datenbestand zu.
Content aside
- vor 4 JahrenZuletzt aktiv
- 5Antworten
- 822Ansichten