Switch und Case als Triger im Auswahlfeld

Ninox Profile

Ich sitze gerade bei einem Testprojekt und verstehe nicht warum zwar die If then Variante funktioniert nicht aber die Switch Case Do Version bei einem Auswahlfeld

hier habe ich den Code

let mySelect := Metal;
Auswahl := mySelect;
switch mySelect do
case mySelect = 3:
PreisBruto1 := Preis + Preis / 100 * Mwst * 4.4
case mySelect = 2:
PreisBruto1 := Preis + Preis / 100 * Mwst * 3.4
case mySelect = 1:
PreisBruto1 := Preis + Preis / 100 * Mwst * 2.4
default:
PreisBruto1 := Preis + Preis / 100 * Mwst
end

es wird immer nur 1 als Ergebnis ausgegeben egal an welcher Position es steht.. bei allen anderen immer nur default.

Findet ihr da einen Fehler?

Ninox Profile

So auf die Schnelle:

man sollte ”case 2”  statt “case mySelect=2” schreiben

Leo

 

Ninox Profile

Hmmmm nun im Handbuch stehts so als Referenz geschrieben

https://ninoxdb.de/de/manual/erweiterte-Berechnungen/kontrollstrukturen

 

Ich werde das mal testen danke für den Tip

Ninox Profile

 Ist in diesem Fall ist es auch richtig, weil die Areale (<>) geprüft werden. Wenn mann aber konkrett den Wert kontrolliert, dann sollte man so schreiben:

---

switch Feldname do

case Wert1:

Anweisung1

case Wert2:

Anweisung2

default:

Anweisung3

---

Da würde ich Jörg bitten das Handbuch zu erweitern.

Leo

Ninox Profile

Ahhhhh alles klar

vielen Dank  für die Aufklärung 

Ninox Profile

Funktioniert Danke 

Ninox Profile

Kann eine case Zeile auch mehrere Anweisungen beinhalten?

U

Ja, wenn du sie in runde Klammern setzt und mit Semikolon trennst.
Siehe 0002_Ninox Reference im Team Webinar DE 2020

Reply