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
-
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
-
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
endEs funktioniert nur bei einem Wert und Else
Gruss Burghard
-
Hallo, man kann anstelle der Zahl (z. B. Äpfel = 2) schreiben: text("Äpfel")
Ist es das was Sie meinen?
Gruß Jörg
-
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
-
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"
endOder, 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"
endAnsonsten wüsste ich jetzt auch nicht ...
-
Hallo Burghard,
versuch es so:
---
Verlauf :=switch Auswahl do
case 2: "zwei"
case 5: "fünf"
case 6: "sechs"
end
---
Grüße
Leo
-
Oh, da war ich zu spät :-)
-
Super, genau das habe ich gesucht!!! Läuft!
Ich danke Euch
schönen Abend
Gruss Burghard
-
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
endDas müsste auch funktionieren.
-
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
-
Hallo Kollegen,
mit welchem Begriff kann man denn die ANZAHL der möglichen Auswahlwerte ausgeben?
Ist das irgendwie möglich?
Danke
-
cnt(chosen(AUSWAHLFELD))
-
Leider kommt bei mir die Fehlermeldung „die Funktion chosen(choice) sei nicht definiert“. Vielleicht ähnlich?
-
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.
-
PS: Auf dem iPad funktionert es auch.
-
Wenn ich Simon richtig verstanden habe, möchte er nicht die Anzahl der ausgewählten Werte haben, sondern der MÖGLICHEN Auswahlwerte.
-
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.
-
@Tacho: Ja, scheint so. ;)
-
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?!
-
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