Mein Trigger (lfd. Nr.) funktioniert nicht mehr ?
Hallo mein Trigger (bei neuem Datensatz) funktioniert nicht mehr?
let AktJahr := year(today());
let LaufNr := number(max((select TAUFGABEN where substr(AufgabenID, 0, 4) = AktJahr).substr(AufgabenID, 5, 3))) + 1;
AufgabenID := AktJahr + "-AG-" + format(LaufNr, "000")
Hat mir jemand einen Tipp woran das liegen kann?
Tabellenname und Feld sind richtig beschrieben ( es kommt auch keine Fehlermeldung)?
Danke Euch im Voraus!
7 Antworten
-
Die DB ist lokal !
-
Erstelle mal ein Berechnungsfeld und trage folgendes Script ein:
debugValueInfo(let AktJahr := year(today());let LaufNr := number(max((select TAUFGABEN where substr(AufgabenID, 0, 4) = AktJahr).substr(AufgabenID, 5, 3))) + 1;AktJahr + "-AG-" + format(LaufNr, "000"))
Wenn das Ergebnis dem entspricht was du erwartest, scheint es, daß das Script im Trigger nicht ausgeführt wird, wenn ein neuer Record angelegt wird.
-
Hallo Uwe vielen Dank erstmal
Habe dein Script eingebaut und es erscheint dort auch immer nur die gleiche AufgabenID-Nr: "2022-AG-001" egal wieviel Datensätze ich angelegt habe.
Was kann ich tun damit der Trigger wieder bei jedem neuen Datensatz läuft? -
Dann stimmt das Script für die LaufNr nicht.
Zerlege das Script in Einzelteile und füge es dann Stück für Stück wieder zusammen. Schau bei jedem Schritt mit formatJSON(Script) was jeweils rauskommt und ob es mit dem was du erwartest übereinstimmt. Damit kannst du eingrenzen an welcher Stelle es hakt. -
Ahoi, ich würd's mal so versuchen:
let myJ := format(today(), "YYYY"); let myN := max((select TAUFGABEN where substr(AufgabenID, 0, 4) = myJ).substr(AufgabenID, 8)); AufgabenID := myJ + "-AG-" + format(number(myN) + 1, "000")
PS: Heißt die Tabelle wirklich TAUFGABEN?
-
Hallo Uwe
tausend Dank für Deine Hilfe. Mit Deinem Script klappt es wieder.
:-))
Content aside
- vor 2 JahrenZuletzt aktiv
- 7Antworten
- 76Ansichten
-
3
Folge bereits