0

Rechnen mit Auswahlfelder

Hallo zusammmen, ich möchte gerne mit einem Auswahlfeld rechnen. Also eigentlich eine einfache Multiplikation

Feld 1 * Ziffer des gewählten Auswahlfeldes= Ergebnis      (Auswahlfelder = 1,0;  1,5;  2,0)

Ich habe folgende Funktion verwendet       “Summe gr.” * number(“Auswahl (1)”)   

Ergebnisse=   “Summe gr.” (50) * 1 = 50 (richtig)

                     “Summe gr.” (50) * 1,5 = 100 (falsch)

                     “Summe gr.” (50) * 2,0 = 150 (falsch)

 number scheint wohl nicht der richtige Befehl dafür zu sein? Kann jemand trotz der trivialen Anfrage bitte helfen.

Herzlichen Dank im voraus

23 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo AO, wenn ich es richtig verstehe, dann sind “1,0, ”1,5“ und ”2,0“ die Textwerte der Auswahloptionen. Mit number() liest man aber die numerischen IDs aus, also 1, 2 und 3. Man müsste die gewählte Option deshalb explizit als Text auslesen und dann im nächsten Schritt in eine Zahl umwandeln:

     

    ”Summe gr.“ * number(text(”Auswahl (1)“))

    • neon_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Vielen Dank für die schnelle Rückmeldung. Leider bekomme ich eine Fehlermeldung (Tabellenspallte wurde nicht gefunden)

    Summe gr. * Auswahl (1) = Berechnung (1)

    Habe nochmal ein Bild anghängt

    • neon_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    nimmt leider den scrennshot nicht

    • neon_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Sie hatten es richtig verstanden die Werte 1,   1,5   2,0 .......... sind die Textwerte des Auswahlfeldes

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Die doppelten Anführungszeichen meines Formel-Vorschlags müssten im Ninox-Editor in einfache Anführungszeichen umgewandelt werden (Bug hier im Forum).

    • neon_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Herzlichen Dank, hat geklappt. 

    • neon_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Sorry Copytexter, zu früh gefreut. Er zeigt jetzt nur noch 0 als ergebnis an. Egal welche Auswahl ich treffe

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ach so, ersetze doch bitte im Auswahlfeld die Kommas durch Punkte, also bspw. “1.5” statt “1,5”. Bei numerischen Werten kann Ninox mit Kommas nichts anfangen und gibt deshalb 0 zurück. Hatte ich nicht dran gedacht, sorry.

    • neon_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Herzlichen Dank. Funktioniert. Schönen Abend noch.

    • neon_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo darf ich nochmal nachfragen, wie die Formel heißen würde, wenn der erste Wert auch einen Wet mit Klammer hat?

    “Summe gr.” * number(text(“Auswahl (1)”))     also Summe gr. (1)  anstatt  Summe gr.

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Die Frage verstehe ich nicht. “Summe gr.” ist doch eine Feldbezeichnung. Man kann Felder nennen, wie man will, also bspw. auch “Summe gr. (1)”. Wichtig ist nur, dass Feldnamen, die Sonderzeichen enthalten (alles außer Buchstaben, Ziffern und Unterstrich) innerhalb von Formeln und Skripten in einfache(!) Anführungszeichen gesetzt werden. Die Formel würde also so ausshen:

     

    “Summe gr. (1)” * number(text(“Auswahl (1)”))

     

    Wobei man die Änderung nicht mal selbst vornehmen muss. Sobald die Feldbezeichnung an sich geändert wird, passt Ninox sie automatisch in allen Formeln und Skripten an, in denen sie vorkommt.

     

    Oder habe ich die Frage falsch verstanden?

    • neon_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo copytexter, nein Sie haben alles richtig verstanden. Es liegt wohl an meinen nicht vorhandenen Kenntnissen. Leider funktioniert es immer noch nicht.

    Ergebnis aus einem Berechnungsfeld * Auswahlfeld

    Erste Funktion für erste Berechnung = “Summe gr. (1)” * number(text(“Auswahl (1)”))   ------ das funktioniert

    Zweite Funktion für zweite Berechnung = “Summe gr. (2)” * number(text(“Auswahl (2)”))  ---- das funktioniert nicht

    Die Funktion wird nicht beanstandet, aber das Ergebnis bleibt 0

    Ich versuche noch ein screenshot mitzuschicken, das hat aber gestern schon nicht geklappt

    Vielen Dank im Voraus, falls Sie nochmal draufschauen

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo, dieses Forum hat bedauerlicherweise gerade diverse Bugs. Neben der unerwünschten Umwandlung von Anführungszeichen lassen sich leider auch keine Bilder mehr hochladen. Man müsste sie statt dessen also irgendwo auf einen externen Server legen und hier verlinken (Links funktionieren hier zwar auch nicht direkt, aber man kann die URL per Copy and Paste übernehmen).

    Davon abgesehen sollte die zweite Formel aber genauso funktionieren wie die erste. Vorausgesetzt natürlich, die beteiligten Felder erfüllen dieselben Bedingungen. “Summe gr. (2)” müsste demnach einen numerischen Wert beinhalten und die Optionen von “Auswahl (2)” müssten Zahlen mit Dezimalpunkt sein (siehe “Auswahl (1)”).

    Das würde ich also noch mal überprüfen. Ansonsten ist für mich jetzt nicht ersichtlich, worin sich die Formeln und beteiligten Felder unterscheiden könnten.

    • neon_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Guten Morgen Copytexter, es ist ein Bug gewesen. Die Formeln waren richtig. Ich habe Die Auswahlfelder gelöscht und nochmal neu angelegt. Dann hat es funktioniert. Vielen Dank nochmal

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    👍

    • Alexander_Pietsch
    • vor 5 Monaten
    • Gemeldet - anzeigen

    Hallo zusammen, 

    interessanter Beitrag. Ich stehe gerade vor der Frage wie ich mit den Zahlen in Auswahlfeldern Arbeiten kann, wenn auch noch text vorhanden ist.
     

    Auswahl1
    1 text
    2 text
    3 text

     

    Ich möchte halte die nur die Zahlenwerte ansprechen. Kann man sich auf die erste Stelle beziehen? 
    Oder kann man die Auswahlfelder anders schrieben: 
     

    Auswahl1
    [1] text
    [2] text
    [3] text
    

    und sich auf die Zahlen in den [ ] beziehen? 

    Danke für eure Hilfe. 

      • mirko3
      • vor 5 Monaten
      • Gemeldet - anzeigen

       Jede Auswahl in einem Auswahlfeld hat eine ID-Nummer. Diese kannst Du mit number(Auswahlfeld) bekommen und auch zum Rechnen benutzen. Sie steht beim Anlegen des Auswahlfeld neben dem Text auf der rechten Seite.

      Wenn Du jeder Auswahl einen eigenen Wert zuweisen willst, dann nimmst Du besser switch-do wie unten angegeben. Hier kannst Du jeder Auswahl-ID irgendeinen Wert zuweisen. Mirko

      switch Auswahlfeld do
      case 1:
          2.25
      case 2:
          3.75
      case 3:
          4
      end
      
    • Alexander_Pietsch
    • vor 5 Monaten
    • Gemeldet - anzeigen

    Hallo  ,

    das klingt gut. Das werde ich gleich mal ausprobieren 

    Danke dir

    VG Alex

    • Alexander_Pietsch
    • vor 5 Monaten
    • Gemeldet - anzeigen

    Hallo  geht fast .. 
    kann ich die Auswahlfelderwerte auch mit einem Operand verknüpfen?

    switch Auswahlfeld_1 do
    case 1:
        2.25
    case 2:
        3.75
    case 3:
        4
    end
    
    switch Auswahlfeld_2 do
    case 1:
        2.25
    case 2:
        3.75
    case 3:
        4
    end
    
    
    

    Und dann Auswahlfeld_1 case 1 * Auswahlfeld_2 case 2
    2.25*3.75

    Ich habe es nicht hinbekommen.

      • mirko3
      • vor 5 Monaten
      • Gemeldet - anzeigen

       Die Ergebnisse der Switches in eine Variable legen. Mirko

      let resultOne := switch AW1 do
          case 1:
              2.25
          case 2:
              3.75
          case 3:
              4
          end;
      let resultTwo := switch AW2 do
          case 1:
              2.25
          case 2:
              3.75
          case 3:
              4
          end;
      resultOne*resultTwo
      
      • Alexander_Pietsch
      • vor 5 Monaten
      • Gemeldet - anzeigen

       Ich habe es heute morgen gleich ausprobiert. Ich bekomme immer den Wert 0 zurück. 

      Dabei klingt deine Lösung so logisch. Die Syntax ist soweit ok. Hast du noch eine Idee? 
      VG Alex 

      • Alexander_Pietsch
      • vor 5 Monaten
      • Gemeldet - anzeigen

       Fehlergefunden. Ich hatte die Optionen in einem Auswahlfeld so geschrieben:
       

      [1] Option1
      [2] Option2
      ..
      

      Vermutlich hat sich Ninox an den [ ] gestört. 
      Klappt nun. Besten Dank nochmal für die Hilfe

      • mirko3
      • vor 5 Monaten
      • Gemeldet - anzeigen

      das ist merkwürdig. Der Index einer Auswahl im Auswahlfeld ist immer eine Zahl, was da im Text steht ist völlig egal. Und da ich ja nicht sehe, was Du vor Dir siehst kann ich dazu auch nicht mehr sagen. Und wenn es funktioniert ist es ja gut. Mirko

Content aside

  • vor 5 MonatenZuletzt aktiv
  • 23Antworten
  • 1164Ansichten
  • 2 Folge bereits