0

Berechnung aus mehreren Auswahlfeldern

Hallo,

Ich möchte gerne eine Berechnung aus mehreren Auswahlfeldern vornehmen. Ich habe drei Auswahlfelder mit jeweils 4 Auswahlmöglichkeiten (in Textform), jede Auswahlmöglichkeit soll verschieden viele Punkte geben. Beispiel: Auswahl 1 : 1 Punkt, Auswahl 2: 2 Punkte usw. Das ganze dann für insgesamt 3 Auswahlfelder. Am Ende soll dann die Gesamtpunktzahl berechnet und in einem Auswahlfeld angezeigt werden.

Danke im Vorraus

11 Antworten

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

    Also, wenn ich es richtig verstehe und wenn es wirklich einfache Auswahlfelder sind (und nicht Mehrfachauswahlfelder), dann kann man gleich die numerischen Werte der Auswahloptionen einlesen und einfach addieren. Also, ein Funktionsfeld anlegen und dort folgende Formel einsetzen:

    number(AUSWAHL1) + number(AUSWAHL2) + number(AUSWAHL3)

    • AlinaRon
    • vor 5 Jahren
    • Gemeldet - anzeigen

    So sieht das ganze aus in den Klammern stehen die Punkte, die es für diese Auswahl geben soll. Dann haben ich die drei Auswahlfelder in denen es ähnlich Aussieht wie im geöffnetem. Im Feld Gesamtpunktzhal soll dan logisch die Gesamtpunktzahl stehen

    Bildschirmfoto 2019-03-05 um 21.06.39

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

    Ach so ... Okay, wenn die Punktzahlen immer genau in dieser Form angegeben werden und immer einstellig sind, dann könnte man es so machen:

    let Punkte1 := number(substr(text(Auswahl1), index(text(Auswahl1), "(") + 1, 1));
    let Punkte2 := number(substr(text(Auswahl2), index(text(Auswahl2), "(") + 1, 1));
    let Punkte3 := number(substr(text(Auswahl3), index(text(Auswahl3), "(") + 1, 1));
    Punkte1 + Punkte2 + Punkte3

    Allerdings gehe ich wieder von einem Funktionsfeld aus, in das der obige Code geschrieben wird. Das Ergebnis dem Auswahlfeld namens 'Gesamtpunktzahl' hinzuzufügen, falls das angedacht war, ist leider nicht möglich. Es sei denn, in diesem Feld wären alle möglichen Ergebniswerte als Texteinträge vordefiniert, aber das wird ja kaum Sinn der Sache sein.

    • AlinaRon
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Doch, da 15 Punkte das maximum ist sind alle möglichen Werte im Auswahlfeld eingetragen.

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

    Mir ist zwar überhaupt nicht klar, welchen Sinn es haben könnte, das Ergebnis einer mathematischen Berechnung in einem Auswahlfeld darzustellen, wo es durch eine andere Auswahl ja auch verfälscht werden kann, aber bitte sehr. Allerdings müsste man auch noch wissen, wie die Punktzahlen dort dargestellt werden. Nehmen wir einfach mal an, im "Ergebnisfeld"  stünde als Text immer die Punktzahl + " Punkte", also "3 Punkte", "4 Punkte" usw., dann könnte man obige die Berechnung in jedes der drei Auswahlfelder als Trigger "Nach Änderung" übernehmen und das Ergebnis an das Auswahlfeld "Gesamtpunktzahl' adressieren:

    let Punkte1 := number(substr(text(Auswahl1), index(text(Auswahl1), "(") + 1, 1));
    let Punkte2 := number(substr(text(Auswahl2), index(text(Auswahl2), "(") + 1, 1));
    let Punkte3 := number(substr(text(Auswahl3), index(text(Auswahl3), "(") + 1, 1));
    Gesamtpunktzahl := text(Punkte1 + Punkte2 + Punkte3) + " Punkte"

     

    Aber wie gesagt: Sehr ungewöhnlich.

    • AlinaRon
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Danke :)

    • Agencise
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo, 

    kann mir auch jemand vllt. helfen. Ich habe ähnliches Problem und suche auch sehr lange danach. 

    Allerdings ist mein Problem evtl. etwas unkomplexer. Folgendes:

    Ich habe ein Feld mit dem Preis und einen Auswahlfeld mit dem Steuersatz. Nun möchte ich auch diesen beiden Feldern eine Berechung machen. Sprich: Feld * der Wert eines Auswahlfeldes

    Bildschirmfoto 2019-06-09 um 13.10.14

    Bei der Berechnung steht folgendes Formel: Preis * number(Steuersatz)

    Ich habe vieles an der Formel versucht aber der nimmt nicht den Wert 19% sondern die Position 3 deswegen kommt das Ergebnis 300 raus.

    Vielen lieben Dank!!!

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Israr, 

    die richtige Formel wäre:

    ---

    Preis * switch Steuersatz do

    case 1:

    1;

    case 2:

    1,07

    case 3:

    1,19

    default:

    1

    end

    ---

    Leo

    • Agencise
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Leo, 

    vielen lieben Dank für die schnelle Hilfe. Leider kommen folgende Fehlermeldungen:

    Wenn ich die Formel einfüge: 

    Bildschirmfoto 2019-06-09 um 14.35.12

    und wenn ich trotzdem auf OK klicke:

    Bildschirmfoto 2019-06-09 um 14.35.34

    Danke & Grüße

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Israr,

    bei 1,07 und 1,19 musst du 1.07 und 1.19 schreiben. Und ich habe einen Semikolon zu viel:

    ---

    Preis * switch Steuersatz do

    case 1:

    1

    case 2:

    1.07

    case 3:

    1.19

    default:

    1

    end

    ---

    Leo

    • Agencise
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Perfekt, hat funktioniert! 

    Besten Dank! Ich habe leider keine Programmierkenntnisse, daher bin ich natürlich nicht selbst drauf gekommen.

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 11Antworten
  • 2394Ansichten