Switch und Case als Triger im Auswahlfeld
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?
7 Antworten
-
So auf die Schnelle:
man sollte ”case 2” statt “case mySelect=2” schreiben
Leo
-
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
-
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
-
Ahhhhh alles klar
vielen Dank für die Aufklärung
-
Funktioniert Danke
-
Kann eine case Zeile auch mehrere Anweisungen beinhalten?
-
Ja, wenn du sie in runde Klammern setzt und mit Semikolon trennst.
Siehe 0002_Ninox Reference im Team Webinar DE 2020
Content aside
- vor 4 JahrenZuletzt aktiv
- 7Antworten
- 3213Ansichten