0

Auswahlfeld

Hallo kann ich aus einem Auswahlfeld auch mehr als z.B. „ Äpfel, „Birnen“ und „Erdbeeren“ auswählen und die Werte 1,2,3 zuordnen. Ich kann bisher nur normal „ if then else end anwenden“!?

20 Antworten

null
    • Team Lead Customer Service
    • joerg
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo, können Sie ggf. bitte etwas genauer erklären, was Sie mit dem Auswahlfeld vorhaben, bzw. erreichen wollen? Im Moment verstehe ich leider die Fragen nicht richtig. 

    Vielen Dank, Jörg

    • wodke
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Sorry, war falsch erklärt: Ich habe ein Auswahlfeld Namens „Auswahl“  nach Aktualisierung soll in das Feld Verlauf etwas geschrieben werden. Eventuell auch kopiert werden. Es gibt 3 oder mehr Auswahlen als Wörter den ja rechts die Werte zugeordnet sind! 

    Verlauf := if Auswahl = 2 then
    "Zwei"
    else
    Verlauf := if Auswahl = 5 then
    "fünf"
    else
    Verlauf := if Auswahl = 6 then
    „sechs“
    else
    end
    end
    end

    Es funktioniert nur bei einem Wert und Else 

    Gruss Burghard

    • Support
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo, man kann anstelle der Zahl (z. B. Äpfel = 2) schreiben: text("Äpfel")

    Ist es das was Sie meinen?

    Gruß Jörg

    • wodke
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Ja, das ist klar. Aber es funktioniert in meinem Code, siehe oben, nur die erste if Auswahl! Das ist mein Problem! Meine Frage: ist der code falsch oder kann man nicht mehere  verschiedene Auswahlen treffen?

    gruss Burghard

    • copytexter
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Also, wenn ich es richtig sehe, dann wird in obigem Beispiel ja nur der gewählte Texteintrag des Auswahlfeldes in das (Text-?) Feld "Auswahl" übertragen. Das ginge ja auch so (unter "Nach Änderung folgendes Script ausführen" im Feld "Auswahl"):

     

    Verlauf := text(Auswahl)

     

    Wenn der Wert nicht einfach 1:1 übernommen werden soll, dann könnte könnte man zur Abfrage statt der if-else-Konstruktion auch switch nutzen:

     

    let myAuswahl := text(Auswahl);
    Verlauf := switch myAuswahl do
    case "Eins": "Eine Eins Trallala"
    case "Zwei": "Eins plus Eins macht Zwei"
    case "Drei": "Aller guten Dinge sind drei"
    end

     

    Oder, wenn man die numerischen Werte abfragen will:

     

    let myAuswahl := number(Auswahl);
    Verlauf := switch myAuswahl do
    case 1: "Eine Eins Trallala"
    case 2: "Eins plus Eins macht Zwei"
    case 3: "Aller guten Dinge sind drei"
    end

     

    Ansonsten wüsste ich jetzt auch nicht ...

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo Burghard,

    versuch es so:

    ---

    Verlauf :=switch Auswahl do

    case 2: "zwei"

    case 5: "fünf"

    case 6: "sechs"

    end

    ---

    Grüße

    Leo

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Oh, da war ich zu spät :-)

    • wodke
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Super, genau das habe ich gesucht!!! Läuft!

    Ich danke Euch

    schönen Abend

    Gruss Burghard

    • Wilhelm_Diegel
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Ihre erste Formel würde auch laufen. Der Punkt ist, dass eine verschachtelte "If-Funkiton" immer mit "else if" weitergeführt werden muss. Also so:

    Verlauf := if Auswahl = 2 then
    "Zwei"
    else if
    Verlauf := if Auswahl = 5 then
    "fünf"
    else if
    Verlauf := if Auswahl = 6 then
    „sechs“
    else
    end
    end
    end

    Das müsste auch funktionieren.

    • wodke
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Super! Ja stimmt, kenn ich von VB. Hatte mich irre führen lassen durch „if Auswahl“

    vielen Dank für die Tiipps! Super Support von Euch

     

    Gruss Burghard

    • simon
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo Kollegen,

    mit welchem Begriff kann man denn die ANZAHL der möglichen Auswahlwerte ausgeben?

    Ist das irgendwie möglich?

    Danke

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

    cnt(chosen(AUSWAHLFELD))

    • simon
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Leider kommt bei mir die Fehlermeldung „die Funktion chosen(choice) sei nicht definiert“. Vielleicht ähnlich?

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

    Moin. Also, bei mir (Web-Version) funktioniert es genau so. Als Funktion in einem Berechnungsfeld ermittelt 'cnt(chosen(AUSWAHLFELD))' die korrekte Zahl der gewählten Optionen des betreffenden Mehrfachauswahlfeldes. Warum es bei dir nicht klappt - keine Ahnung. Vielleicht hat jemand anderes eine Idee.

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

    PS: Auf dem iPad funktionert es auch.

    • Tacho
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Wenn ich Simon richtig verstanden habe, möchte er nicht die Anzahl der ausgewählten Werte haben, sondern der MÖGLICHEN Auswahlwerte.

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

    PPS: Möglicherweise haben wir aneinander vorbei geredet. Ich war wie gesagt davon ausgegangen, du wolltest die Zahl der gewählten Optionen in einem MEHRFACHauswahlfeld abfragen. In einem normalen (Einfach-) Auswahlfeld funktioniert chosen() in der Tat nicht. Da wäre das Ergebnis ja immer 0 oder 1, was sich auch mit "=/!= null" abfragen ließe.

     

    So langsam dämmert mir, dass du wohl ganz was anderes wolltest, nämlich die Gesamtzahl der in einem Auswahlfeld hinterlegten Einträge. Oder? Ob und wie das ginge, weiß ich leider nicht. Aber wenn sie sich nicht ständig ändert, könnte man behelfsweise ja mit einer festen Zahl arbeiten.

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

    @Tacho: Ja, scheint so. ;)

    • simon
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Ja genau, ich meinte eben nicht die Anzahl der gewählten Werte (nur bei einer Mehrfachauswahl möglich), sondern die Anzahl der AuswahlMÖGLICHKEITEN vom Datenfeld "Auswahl" (<> "Mehrfachauswahl). 

    Bin dabei eine Lagerdatenbank zu erstellen. Mit einem jeweiligen Datenfeld "Auswahl" und den darin hinterlegten Werten (Regal 1, Regal 2...) wird bislang der Standort der Ablage festgehalten. 

    Nun soll der gewählte Abstellplatz (Lager, Regal, Ebene) automatisiert seinen spezifischen Code erhält (Bsp: 111 = Lager 1, Regal 1, Ebene 1). Da natürlich die Anzahl der AuswahlMÖGLICHKEITEN variert (Lager 1-3, Regale 1-x, Ebenen 1-y) wollte ich es nicht im Vorfeld statisch im Skript vorgeben (@Der Copytexter: "... mit einer festen Zahl arbeiten..."), sondern in der Schleife zuvor einfach abfragen. Ebenso für den Fall dessen, dass sich z.B. die Anzahl Ebenen oder Regale ändert. So bliebe die Dynamik erhalten und man müsste nicht mehr bei Änderung der Abstellmöglichkeiten das Skript bearbeiten.

    Vielleicht gibt es ja doch einen Befehl diese Zahl zu ermitteln?!

    • Team Lead Customer Service
    • joerg
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo Simon, 

    vielleicht wäre es für diesen Anwendungsfall sogar besser, anstelle des Auswahlfeldes eine Untertabelle/verknüpfte Tabelle zu nutzen. Darüber könnte man dann Schleifen laufen lassen, ganz davon abgesehen, dass man ggf. noch weitere Informationen zu den Auswahlmöglichkeiten (Regalen) hinterlegen und auswerten kann.

    Gruß, Jörg

Content aside

  • vor 6 JahrenZuletzt aktiv
  • 20Antworten
  • 7622Ansichten