Preis auf 0 reduzieren wenn Status (Auswahlfeld) auf "Storniert" umgestellt wird
Ich habe in einer Tabelle das Auswahlfeld "Status" (mit den Möglichkeiten "Teilnehmer" und "Storniert") und ein weiteres Nummern-Feld "Preis".
Nun möchte ich erreichen das, wenn das Statusfeld von "Teilnehmer" auf "Storniert" umgesetllt wird, dass der vorherige Preis mit 0 überschrieben wird.
Mit dem folgenden Code erreiche ich allerdings nur, das sich dass das Auswahlfeld immer "Storniert" ist, das lässt sich nicht mehr ändern
if Status := "Storniert" then
Preis := "0"
end
Wo liegt der Fehler?
4 Antworten
-
Zunächst mal: Textfelder befüllst du mit Werten in Anführungszeichen, Nummernfelder mit der blanken Zahl. Wenn Du wirklich eine 0 stehen haben möchtest dann wäre der Code im Feld "Nach Änderungen folgendes Script.... usw.":
if Status = "Storniert" then Preis = 0 end
Bei Abfragen von Bedingungen ist GLEICH auch nur =
In deiner Formel hast du := benutzt .... damit weist Du einen Wert zu.
Wenn das Feld "Preis" ganz leer bleiben soll, nutze NULL
if Status = "storniert" then Preis := null end
-
haha, in der ersten Formel natürlich
if Status = "Storniert" then Preis := 0 end
-
Moin, kleine Ergänzung: Bei if-Abfragen von Auswahlfeldern wird als Standard von Ninox die ID des gewählten Eintrags zurückgegeben. Um den Textwert abzufragen, sollte man die Funktion text() nutzen:
if text(Status) = "Storniert" then Preis := 0 end
Oder eben auf die entsprechende ID des Eintrags "Storniert" abfragen. Angenommen, das wäre die 3:
if Status = 3 then Preis := 0 end
Wobei ich persönlich der besseren Unterscheidung wegen immer text() oder number() nutze, also "text(Status)" oder "number(Status)".
-
Großartig - danke euch beiden für die Hinweise, das funktioniert einwandfrei
(und hat mir sehr geholfen für die Zukunft die Funktionsweise besser zu verstehen)
Content aside
- vor 3 JahrenZuletzt aktiv
- 4Antworten
- 339Ansichten