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

6 Antworten

null
    • Maurice
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Auf die Schnelle:

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

    Grüße Maurice

      • Jonas_Zander
      • vor 2 Jahren
      • Gemeldet - anzeigen

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

      • Ninox-Professional
      • planoxpro
      • vor 2 Jahren
      • 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.

      • Jonas_Zander
      • vor 2 Jahren
      • 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

      • Ninox-Professional
      • planoxpro
      • vor 2 Jahren
      • 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
      
      • Jonas_Zander
      • vor 2 Jahren
      • Gemeldet - anzeigen

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

Content aside

  • Status Answered
  • vor 2 JahrenZuletzt aktiv
  • 6Antworten
  • 48Ansichten
  • 3 Folge bereits