Formel funktioniert nicht
Ich habe 2 Tabellen, die beide eine fortlaufende Nummer (NOI) haben.
Jetzt soll bei einem neuen Datensatz der Höchstwert des NOI aus beiden Tabellen bestimmt werden und die fortlaufende Nummer dann Höchstwert von beiden Tabellen +1 haben, wenn ein neuer Datensatz in Tabelle A oder Tabelle B angelegt wird. Eigentlich ein banaler Trigger, der in beiden Tabellen steht, und der wie folgt lautet:
let xx := max((select A).NOI);
let yy := max((select B).NOI);
if xx > yy then
NOI := xx + 1
else NOI := yy + 1
end
Aber er spuckt mir immer NOI=1 aus.
Wo ist der Fehler?
danke im Voraus
lg
Arsène
6 Antworten
-
Hallo Arsène, m. E. sollte der Code so funktionieren. Ist 'NOI' in beiden Tabellen ein numerisches Feld, also eines vom Typ "Zahl"?
-
Hallo Copytexter.
Ja, ist es. Als einzelne Formel mit einer Tabelle (NOI:=(max(select A).NOI)+1) funktionniert es auch problemlos, nur nicht in Kombination.
-
Sehr seltsam. Hab's mal nachgestellt, und bei mir funktioniert es. Tut mir leid, aber mir fällt gerade nichts ein, woran es liegen könnte. Vielleicht hat jemand anderes noch eine Idee.
-
ich habe die ganze Formel gelöscht und Zeichen für Zeichen genau gleich neu eingegeben: jetzt funktionniert es ???!!!
mal wieder die kleinen grünen Männchen im Computer ;-)
-
des Rätsels Lösung: da in Tabelle B noch kein Eintrag war, hatte yy noch keinen Wert zugewiesen: ein kleines if yy=null then yy=0 hat das Problem gelöst.
-
Autsch. Zu fragen, ob auch wirklich beide Tabellen Datensätze enthalten, hatte ich mich gar nicht getraut. Aber danke für das Update.
Content aside
- vor 4 JahrenZuletzt aktiv
- 6Antworten
- 485Ansichten