Verständnisfrage "if.. then.. else"
Hallo, wie erklärt sich bei folgenden Scripts, welche Beide das selbe Ergebnis bringen soll(t)en, dass Script-1 mit "!=" nicht funktioniert aber Script-2 mit "=" das gewünschte Ergebnis bringt.....?, DANKE.
Script-1 let sw01 := 'Datum Anfrage/Vorfall' + 3;
let sw02 := 'Datum Anfrage/Vorfall' + 30;
if Art != 3 or Art != 4 then sw02 else sw01 end
Script-2 let sw01 := 'Datum Anfrage/Vorfall' + 3;
let sw02 := 'Datum Anfrage/Vorfall' + 30;
if Art = 3 or Art = 4 then sw01 else sw02 end
Ich hatte/ hätte mal gehört, das NINOX besser mit "!=" besser umgehen kann als mit "=" und wenn diesen Aussage stimmt/ sinnvoll ist, würde ich Script-1 auch bevorzugen.....
8 Antworten
-
als laie .... if Art != 3 or Art != 4 then sw02 else sw01 end welches ergebniss soll denn kommen wenn beides zutrift?
-
Michi - na ja, "Art" ist ja ein Auswahlfeld mit mehreren Optionen und wenn z.B. die Option Nr. 1, 2, 5, 6.... ausgewählt ist, dann soll das im Funktionsfeld angezeigte Datum das 'Datum Anfrage/Vorfall' um 30 Tage erhöhen, aber bei der Option 3 oder 4 nur um 3 Tage.......
-
Michi - super und Danke - es funktioniert, aber ;-) bei einem Einfachauswahl-Feld "and" anstatt "or" im Bsp. mit "!=" zu verwenden, verstehe ich noch nicht wirklich ;-(
-
..aber ;-) das Datum im Feld 'Datum Anfrage/Vorfall' soll doch über das Einfach-Auswahlfeld "Art" entweder bei "3" oder/ =or "4" nur um 3 Tage verlängert werden, die gleichzeitige Auswahl, also "3" und/ =and" "4" sind doch gar nicht möglich, zumindest müsste es m.V.n. mit oder/ =or auch funktionieren.
Im Script sage ich doch, wenn der Wert ungleich/ != 3 oder 4 ist, dann das Datum +30 Tage, sonst - also bei 3 oder/ =or 4 - das Datum +3 Tage..... oder muss ich dem Funktionsfeld mitteilen, dass es sich bei "sonst.." nur um andere Zahlen handelt oder evtl. "sonst.." etwas genauer definieren....? Wo kann ich derartige Grundlagen lernen/ nachlesen.......?
-
Moin ...
ds. W_de said:
die gleichzeitige Auswahl, also "3" und/ =and" "4" sind doch gar nicht möglichNein, aber bei einer Negativabfrage soll der Rückgabewert WEDER 3 NOCH 4 sein, also NICHT 3 UND auch NICHT 4 bzw. ungleich 3 UND ungleich 4:
if Wert != 3 AND Wert != 4 then ...
Die Bedingung wäre also erfüllt, wenn der Rückgabewert bspw. 1, 2, 5 oder 6 lautet. Ansonsten würde ggf. der optionale else-Zweig ausgeführt.
Bei einer Positivabfrage ist die Bedingung erfüllt, wenn der Rückgabewert ENTWEDER 3 ODER 4 ist, also gleich 3 ODER gleich 4:
if Wert = 3 OR Wert = 4 then ...
Hier ist die Bedingung erfüllt, wenn der Rückgabewert 3 oder 4 lautet. Bei allen anderen Werten würde ggf. der optionale else-Zweig ausgeführt.
Bei Abfragen sind prinzipiell immer beide Varianten möglich. Welche "besser" ist, ergibt sich zumeist aus dem Kontext. Ist eher eine logische als eine technische Frage, aber die Ninox-Doku kann vielleicht trotzdem weiterhelfen:
https://docs.ninox.com/de/skripten/einfuehrung-in-ninox-skript/verzweigung-festlegen
Content aside
- Status Answered
- vor 1 JahrZuletzt aktiv
- 8Antworten
- 150Ansichten
-
3
Folge bereits