0

Dynamisches Auswahlfeld in der neuen NINOX-Version

Das neue "Dynamische Auswahlfeld" in der neuen NINOX-Version klingt sehr interessant. Ich habe leider nur keine Ahnung, wie es zu handeln ist. Hat jemand schon ein Beispiel erstellt?
Danke für eine Antwort.

13 Antworten

null
    • RMS Immobilière
    • Arsene_Nickels
    • vor 3 Jahren
    • Gemeldet - anzeigen

    siehe https://bit.ly/3lDtcfK

    Was ich am Anfang nicht kapiert hatte, war, dass man (im Moment?) nur die Nummer des Datensatzes der Tabelle abfrsgen kann, der in dem Auswahlfeld ausgewählt wurde, da das Auswahlfeld selbst keine zugeordente Nummer hat.

    Beispiel: du hast eine Tabelle Kunden mit Spalte Name.

    DU hast ein dynamisches Auswahlfeld mit dem Namen 'Wahl' in einer anderen Tabelle, nennen wir sie Dashboard.

    in "dynamic values" gibst du 'select Kunden' ein, unter "Name des spezifischen Wertes" 'Name'.

    Damit hast du eine Auswahl vin Namen der Kudentabelle.

    WIllst du jetzt die Auswahl verwerten, schreibst du ins script zB:

    let me:=this;

    select Kunden where Name=me.Wahl 

    optional: select Kunden where Name=me.Wahl."deinen gesuchtenen Wert"

    • Ferienanlage am Grenzbach
    • RHartung
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich hätte da auch noch eine Frage, wie kann ich den Text-Wert eines dynamischen Auswahlfeldes ausgeben? Mit text(dAF) bekomme ich nur die ID des Datensatzes.

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    record(TABELLE,number(DYNAUSWAHLFELD)).DATENFELD

    • Holzi
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Danke Euch beiden, das hat mir erst mal auf die Sprünge geholfen.

    • Tanja
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich hätte auch noch einmal eine Frage. Ich habe das Auswahlfeld so eingerichtet, wie oben beschrieben. Jedoch wenn ich mir den Text-Wert anzeigen lassen kommt ein ganz anderer Textinhalt, als angewählt. Wie komme ich an die richtigen Werte?

    Bildschirmfoto 2021-03-23 um 12.59.20

    • Michi.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Schlies mich mal mit ner Frage an. Für eine praktische umsetzung, bräuchte ich die option das nur Namen angezeit werden die in anderen Dynamischen feldern noch nicht ausgewählt sind. Ist das via skript möglich?

    Bildschirmfoto 2021-03-23 um 13.20.05 

    Bildschirmfoto 2021-03-23 um 13.20.31

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Michi,

    in diesem Fall würde ich bei Fahrer2 unter dynamic  values folgendes schreiben:

    ---

    let me := this;
    (select Name)[number(Nr) != number(me.'Fahrer 1')]

    ---

    Leo

    • Michi.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Funktioniert 

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Tanja. Du hast hier ein dynamisches Mehrfachauswahlfeld. Dazu muss man wissen wie die Werte beim Feld aufgebaut sind. im Einfachsten Fall (dynamic values: select Namen und Name des Wertes: Name) wäre die Formel für Textabfrage:

    concat(for i in numbers(FELDNAME) do

    record(Namen,i).Name

    end) 

    Leo

    • Tanja
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Super, hat geklappt. Tausend Dank

    • Michi.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Wie bekommt man das denn hin, das nach änderung im Datumsfeld in Tabelle Name, das Dynamische Auswahlfeld Fahrer 1 in Tabelle test auf gleichheit überprüft wird. (Wenn der gleiche Name ausgewählt ist, soll Fahrer 1 auf null gesetzt werden und der Name in das Dynamische Auswahlfeld Urlaub geschrieben werden, wenn er nicht gleich ist soll nur der Name in Urlaub geschrieben werden )

     

    Der vergleich der Namen will nicht 

    let me := this;
    let num := number(me.Nr);
    if (select test)[num = number('Fahrer 1')] then
    (select test).(
    'Fahrer 1' := null;
    Urlaub := num
    )

    else

    (select test).(Urlaub := num)

    end

    • RMS Immobilière
    • Arsene_Nickels
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo

    imho kannst du keine Werte in ein dynamisches Auswahlfeld per script schreiben, da es eigentlich so was wie eine Verknüpfung "Light" von einer Tabelle ist, dh es spiegelt einfach einen Teil der Tabelle, die du per select ewählt hast.

    • Michi.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich kann das Feld Urlaub über die Nr des datensatzes füllen, jedoch bekomm ich den Vergleich nicht hin ob die Nr von Fahrer 1 schon die Nr vom aktuellen Datensatz ist