0

Switch case: Zeit abgleichen

Hallo Zusammen!

Bei der Switch-Case-Verzweigung soll die Zahl (aus einem Terminfeld entnommen) überprüft werden und daraufhin ein Element ausgewählt werden in dem Auswahlfeld "Zeitdauer". Es funktioniert leider gar nicht. Wie müsste ich den Code verändern?

let myTermin := number(item(split(raw(Termin), "/"), 1)) / 60000;
switch myTermin do
case < 50:
    Zeitdauer := 1
case = 60:
    Zeitdauer := 2
case = 90:
    Zeitdauer := 3
case >= 120:
    Zeitdauer := 4
end

Freue mich über jegliche Anregungen oder Ideen! :)

Viele Grüße und ein schönes WE!

Jonas

6Antworten Älteste zuerst
  • Älteste zuerst
  • Neuste zuerst
  • Aktive Threads
  • Beliebt
    • Maurice
    • Maurice
    • Vor 2 Monaten
    • Gemeldet - anzeigen

    Auf die Schnelle:

    switch myTermin >= 0 do
    case myTermin < 50: usw.
    

    Grüße Maurice

    Gefällt mir
      • Jonas Zander
      • Jonas_Zander
      • Vor 2 Monaten
      • Gemeldet - anzeigen

      Maurice funktioniert leider nicht :/ , aber danke für deine schnelle Hilfe :)

      Gefällt mir
      • planox. pro
      • Ninox-Professional
      • planoxpro
      • Vor 2 Monaten
      • Gemeldet - anzeigen

      Jonas Zander Prinzipiell war der Ansatz von Maurice schon richtig. Versuch's mal so:

      let myTermin := number(item(split(raw(Termin), "/"), 1)) / 60000;
      Zeitdauer := switch myTermin != null do
          case myTermin < 50: 1
          case myTermin = 60: 2
          case myTermin = 90: 3
          case myTermin >= 120: 4
       end
      

      Allerdings müssen natürlich auch die Werte genau zu den case-Bedingungen passen. In diesem Fall würde bei Werten zwischen 50 und 59, 61 und 89 sowie 91 und 119 halt gar nichts passieren. Optional könnte auch noch ein default-Wert angegeben werden.

      Gefällt mir 1
      • Jonas Zander
      • Jonas_Zander
      • Vor 2 Monaten
      • Gemeldet - anzeigen

      planox. pro danke dir, so klappt das Ganze sehr gut. Wie müsste ich das schreiben, wenn auch Werte zwischen 75 und 89 berücksichtigt werden sollen?
      Reicht dafür dann?

      case 75 <= myTermin <= 89: 3

      Viele Grüße

      Jonas

      Gefällt mir
      • planox. pro
      • Ninox-Professional
      • planoxpro
      • Vor 2 Monaten
      • Gemeldet - anzeigen

      Jonas Zander Du kannst die Bedingungen wie bei if-Abfragen mit "and" verknüpfen, also bspw.:

      case myTermin > 74 and myTermin < 90: 3
      
      Gefällt mir 1
      • Jonas Zander
      • Jonas_Zander
      • Vor 2 Monaten
      • Gemeldet - anzeigen

      planox. pro achso geht das, danke Dir ! :)

      Gefällt mir
Gefällt mir Folgen
  • Status Answered
  • Vor 2 MonatenZuletzt aktiv
  • 6Antworten
  • 27Ansichten
  • 3 Folge bereits