0

Mehrfachauswahlfeld per Trigger ändern

Hallo,

ich versuche ein Mehrfachauswahlfeld über einen Trigger zu ändern.

Wenn ein Dokument verlinkt ist zum Datensatz soll im Mehrfachauswahlfeld Option 2 angewählt werden. Die anderen Optionen sollen unverändert bleiben. Wenn ich die Verlinkung aufhebe soll Option 2 wieder abgewählt werden.

Freue mich über Tipps.

6 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Hallo, bei einem normalen Mehrfachauswahlfeld würde ich es so versuchen (Trigger "Nach Änderung" im Feld 'Bildlink'):

    let myOption := 2;
    let myArray := numbers(Mehrfachauswahl);
    if Bildlink then
        Mehrfachauswahl := array(myArray, [myOption])
    else
        if chosen(Mehrfachauswahl, 2) then
            let myNewArray := for i in myArray do
                    if i != myOption then i end
                end;
            Mehrfachauswahl := myNewArray
        end
    end
      • mail.9
      • vor 2 Monaten
      • Gemeldet - anzeigen

       Super, hart funktioniert. Danke für die schnelle Hilfe.

    • Ninox-Professional
    • planoxpro
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Sehe gerade, dass ich in Zeile 6 direkt die Zahl 2 eingesetzt habe. Statt dessen könnte man auch die Variable myOption einsetzen, dann müsste man bei einer anderen Konstellation nur die Zuweisung in Zeile 1 ändern.

    • mail.9
    • vor 2 Monaten
    • Gemeldet - anzeigen

    wie könnte man das ganze mit einem dyn. MFAF gestalten, und wie könnte ich alles Felder abwählen?

      • Ninox-Professional
      • planoxpro
      • vor 2 Monaten
      • Gemeldet - anzeigen

       

      Das geht fast genauso. Nur mit dem Unterschied, dass statt der IDs (in obigem Beispiel 2) nun die Datensatznummer angegeben werden muss. Das heißt, du müsstest erst den Datensatz  ermitteln. Falls du die Datensatznummer kennst (in u. Beispiel 14), kannst du sie direkt einsetzen, ansonsten kann es natürlich auch ein anderes Kriterium sein, anhand dessen du den Datensatz identifizierst.

      let myOption := 14;
      let myRecord := first(select QUELLTABELLE where number(Nr) = myOption);
      if Bildfeld then
          let myArray := numbers(DMAF);
          DMAF := array(myArray, [number(myRecord)])
      else
         if chosen(DMAF, number(myRecord)) then
              let myArray := numbers(DMAF);
              let myNewArray := for i in myArray do
                     if i != number(myRecord) then i end
                  end;
              DMAF := myNewArray
          end
      end

      PS: DMAF steht für das Dynamische Mehrfachauswahlfeld, QUELLTABELLE für die Tabelle, aus der die Daten gelesen werden.

      • Ninox-Professional
      • planoxpro
      • vor 2 Monaten
      • Gemeldet - anzeigen

       Ach so, abwählen ... Das ist einfach:

      DMAF := null

Content aside

  • vor 2 MonatenZuletzt aktiv
  • 6Antworten
  • 52Ansichten
  • 2 Folge bereits