0

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

null
    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Reinhard

    ---

    MEHRFACH:=

    switch AUSWAHL  do

    case 4:

    [1,2,3]

    case 3:

    [1,3]

    end

    ---

    Leo

    • Reinhard
    • vor 4 Jahren
    • Gemeldet - anzeigen

    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 

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    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]
    end 

    Wobei es für mich keinen Sinn ergibt

     

    Leo

    • Reinhard
    • vor 4 Jahren
    • Gemeldet - anzeigen

    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...

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    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 

    • Reinhard
    • vor 4 Jahren
    • Gemeldet - anzeigen

    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

    • Reinhard
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Habs geändert und alles funktioniert wie es soll :) Danke nochmals!

    • Reinhard
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Habs geändert und alles funktioniert wie es soll :) Danke nochmals!

    • Reinhard
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Habs geändert und alles funktioniert wie es soll :) Danke nochmals!