Auswahlfeld als Schalter für Mehrfachauswahl.
In einem Auswahlfeld möchte ich über die Funktion "nach Änderung folgendes Skript ausführen" eine Mehrfachselektion in einem anderen Mehrfachauswahlfeld erzwingen.
if AUSWAHL = 4 then
MEHRFACH := 1 and
MEHRFACH := 2 and
MEHRFACH := 3
else if AUSWAHL = 3 then
MEHRFACH := 1 and
MEHRFACH := 3
Statt and
habe ich bereits + ; etc. ausprobiert um mehrere Mehrfachfelder zu aktivieren, jedoch ohne Erfolg. Auch ein Switch hatte nicht funktioniert.
Ich freu mich auf hilfreiche Ideen, Danke!
9 Antworten
-
Hallo Reinhard
---
MEHRFACH:=
switch AUSWAHL do
case 4:
[1,2,3]
case 3:
[1,3]
end
---
Leo
-
Hi Leo, funktioniert fast perfekt.
Ich habe aus dem AUSWAHL Feld nun ein Mehrfachauswahlfeld machen müssen.
Für case 1 und case 2 funktioniert es perfekt case 3 ist aber ohne Funktion obwohl 3 die korrespondierende Auswahlnummer ist. Wenn ich anstatt case 3 -> case 4 schreibe funktioniert es wie gewünscht, so dass Ninox intern wohl von 3 -> 4 verweist...
Phase := switch 'Qualität' do
case 1:
[1, 2, 3, 4, 5]
case 2:
[1, 2, 3, 4, 5]
case 4:
[2, 4, 5]
end
-
Hallo Reinhard,
die Mehrauswahlfelder funktionieren anders als die normale Auswahlfelder. Auch für dein Beispiel:
wenn du auf 1 klickst und dann auf 2 und dann auf 4, sind alle 3 angeklickt. Was soll jetzt Ninox machen? Wenn du aber nur einzelnen Angaben betrachten möchtest dann sollte die Formel so aussehen:
Phase := switch numbers('Qualität') do
case [1]:
[1, 2, 3, 4, 5]
case [2]:
[1, 2, 3, 4, 5]
case [4]:
[2, 4, 5]
endWobei es für mich keinen Sinn ergibt
Leo
-
Danke Leo, ja das ist mir bewusst, geht aber leider aufgrund anderer Funktionen nur mit der Mehrfachauswahl. Ich habs nun auch mal über eine if-Funktion versucht:
if 'Qualität' = 1 then
Phase := [1, 2, 3, 4, 5]
else
if 'Qualität' = 2 then
Phase := [1, 2, 3, 4, 5]
else
if 'Qualität' = 4 then
Phase := [2, 4, 5]
else
if 'Qualität' = null then Phase := null
end
Aber auch hier muss ich
'Qualität' = 4
schreiben um auf die ID Nummer 3 in der Quelle zu verweisen, das ist etwas eigenartig... -
Nochmals,
wenn Qualität ein Mehrfachauswahlfeld ist dann sind die Ergebnisse der Feldabfrage immer ein Array. Ein Array kan keine Zahl oder Text sein, es sind immer mehrere in Eckklammern. deswegen ist die Abfrage ala if 'Qualität' = 1 nicht korrekt und auch wenn irgendwas angezeigt wurde - ist es eher ein Gluck als Ergebnis.
Es gibt zwei Abfragemöglichkeiten
chosen('Qualität') gibt einen Array aus ausgewälten Möglichkeiten als Texte z.B. ["gut","mittel","schlecht"] bei drei ausgewälten Möglichkeiten.
numbers('Qualität') gibt einen Arrayaus IDs der Möglichkeiten als Zahlen z.B. [1,2,4]
Jetzt meine Frage zu dir: was möchtest du bei Phase ausgewählt bekommen wenn bei Qualität gleichzeitig 1 und 4 angeklickt wurde?
Leo
-
Hi Leo,
danke für die Erklärung. Dass Mehrfachauswahlfelder, gleich so viel komplexer sind, war mir nicht bewusst.
Tatsächlich würde in meinem Fall ein einfaches Auswahlfeld reichen, nur da ich nacher in einer Ansicht filtern lassen wollte und dort die selben
ToDos
zum Teil den mehreren 'Qualitäten' zugeordnet sind, bin ich hier auf das Mehrfachauswahlfeld gegangen. Es ist so weit ich weiß nicht möglich, mittels Auswahlfeld ein Mehrfachauswahlfeld zu filtern, oder?Ich denke der einfachste Weg ist das Mehrfachauswahlfeld in den ToDos aufzulösen und auch hier auf Auswahlfeld umzustellen, ist dann zwar viel mehr Arbeit, aber vermutlich übersichtlicher.
Kombinierte 'Qualität' macht keinen Sinn, da gebe ich Dir völlig recht.
Danke für die Hilfe!
Reinhard
-
Habs geändert und alles funktioniert wie es soll :) Danke nochmals!
-
Habs geändert und alles funktioniert wie es soll :) Danke nochmals!
-
Habs geändert und alles funktioniert wie es soll :) Danke nochmals!
Content aside
- vor 4 JahrenZuletzt aktiv
- 9Antworten
- 1690Ansichten