Auswahl aus einer Liste
Moin,
ich finde die Auswahlfelder im Prinzip ganz praktisch. Wenn ich allerdings eine Menge von Datensätzen mit vielen Zahlen zu verarbeiten habe, stört mich ein wenig, dass ich für die Bedienung des Auswahlfeldes von der numerischen Tastatur auf die Maus wechseln muss.
Für den Workflow wäre es besser, ich könnte die Auswahl auch als Zahl eingeben.
Nun will ich allerdings bei der Weiterverarbeitung keine Zahl, sondern einen Text haben.
Ich habe mir bisher damit geholfen, dass ich eine Reihe von verschachtelten if-Schleifen angelegt habe:
if 'auswahl numerisch' = 1 then "Auswahl 1"
else
if 'auswahl numerisch' = 2 then "Auswahl 2"
else ...... und so weiter.
Gibt es da eine Syntax, die das einfacher erledigt?
Also eine Instuktion, die folgende Aufgabe löst?:
Weise dem Feld 'auswahl text' in Abhängigkeit von der Größe 'auswahl numerisch' einen der Texte zu: "auswahl 1", "auswahl 2", "Auswahl 3" usw.
Natürlich muss ich dann bei der Eingabe wissen, welche Zahl denn "auswahl 1" etc. hat. Aber diese Zuordnung kann ich meist nach den ersten Datensätzen auswendig, bzw. kann ich auch als Freitext daneben stellen.
10 Antworten
-
so richtig klar wird mir noch nicht, was genau mit auswahl numerisch meinst, das werde ich gleich mal versuchen, nachzuvollziehen... aber für die If verschachtelung gibt es was
switch AuswahlText do
case 1:
"Auswahl 1"
case 2:
"Auswahl 2"
case x:
"Auswahl x"
end
-
Wenn ich es recht verstehe, möchtest du nicht mit der Maus ein Auswahlfeld bedienen, sondern lieber eine Zahl eingeben. Wenn das so ist,
lege ein Zahlenfeld an (beschränke es auf die Anzahl der Auswahlmöglichkeiten und lege als Zahlenformat 0 für ganze Zahlen fest)
in den Bereich "Nach Änderung folgendes Script ausführen" kommt der Switch Code siehe unten, der das Auswahlfeld mit den Testen ansteuert ....
switch Input do
case 1:
Auswahl := 1
case 2:
Auswahl := 2
case 3:
Auswahl := 3
default:
alert("Input out of range!")
end -
Moin. Letztere Variante mit zusätzlichem Zahlenfeld wäre m. E. sinnvoll, weil man am Auswahlfeld sofort sähe, ob man die richtige Zahl eingetippt hat. Die switch-Abfrage könnte man sich dabei allerdings sparen, sofern man die Reihenfolge der Einträge des Auswahlfeldes nicht geändert hat. In diesem Fall würde als Trigger "Nach Änderung" im Zahlenfeld 'Input' eine Zeile genügen:
Auswahl := Input
Die Auswertung des Feldes 'Auswahl' kann wie gehabt erfolgen. Der Textwert des gewählten Eintrags ließe sich mit "text(Auswahl)" auslesen und weiterverarbeiten.
-
Danke für die Hinweise auf die Funktion SWITCH. Die kannte ich noch nicht.
Gibt es eigentlich eine gute Zusammenstellung aller Funktionen, die man bei NINOX verwenden kann?
Freundliche Grüße aus Ostfriesland
-
Hallo Martin,
es gibt ein Team "Webinar DE 2020", in dem ganz viele tolle Beispieldatenbanken zu finden sind. VOR allem eine von Copytexter, namens "0001_Ninox_Referenz". Sie ist ein tolles Nachschlagewerk über mögliches und unmögliches ;-)
Habe Dir mal eine Einladung in dieses Team geschickt.
Gruß
Tacho
-
Die Online-Doku beinhaltet auch eine Übersicht:
https://ninox.com/de/manual/erweiterte-Berechnungen/funktions-und-sprachreferenz
Außerdem gibt es im Webinar-Team eine Datenbank mit allen Funktionen und kurzen Erläuterungen dazu.
-
Da war ich wieder zu langsam. Na ja, doppelt gemoppelt hält besser. ;)
-
Danke für die Einladung zum Webinar, Tacho!
-
@copytexter, du hast natuerlich recht. hab ich glatt uebersehen... wollte wohl nur if then verschoenern :)
-
@Copytexter,
da habe ich schon wieder etwas Neues kennen gelernt: nämlich, dass ich das Auswahlfeld selbst sozusagen als "Speicher" benutze, in dem einer bestimmten Zahl (nämlich der Position in der Liste) ein bestimmter Inhalt zugeordnet ist. Dass ich dann über das INPUT-Feld diese Zahl direkt eingebe (und nicht per Mausklick definiere), finde ich ausgesprochen clever. Danke!
Martin
Content aside
- vor 4 JahrenZuletzt aktiv
- 10Antworten
- 1256Ansichten