0

dynamisches Combofeld und meine Ratlosigkeit

Ich habe eine Tabelle Adressen, die ist verknüpft mit der Tabelle "Projektbeteiligte", dort gibt es ein Feld Auswahlfeld "Rolle" mit 7 Einträgen.

Ich will nun in einem dynamischen Combofeld alle Adressen anzeigen lassen, die als Rolle die Kennung mit dem numerischen Wert 1 haben.

Das ist mein Code: (select Adressen)[Projektbeteiligte.Rolle = 1]

Das Auswahlfeld tut prima, aber nicht vollständig. Ausgerechnet mein wichtigstes Pferd im Stall wird an der Stelle nicht geführt - ich finde nichts, warum das so ist und bin für jede Idee dankbar.

 

Ganz herzlich Frank

6 Antworten

null
    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Frank,

    kann man zu einer Adresse nur einen Eintrag "Projektbeteiligte" wählen oder mehrere?

    Leo

    • Rechtsanwalt
    • Frank_DIPO2
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Leo, 

    TblProjektbeteiligte "verbindet" Adressen und Projekte (ich weiß nicht mehr, wie Ninox diese Konstruktion nennt)- Adresse 1 hat in Projekten 2,4,7 Rolle 3, Adresse 2 in Projekten 2 und 4 Rolle 5, Projekt 7 Rolle 1.

    Wenn ich also Deine Frage richtig verstehe: Adresse kann mehrfach in Projektbeteiligte auftauchen. Und: Eine Adresse kann in Projektbeteiligte je Projekt mehrere Rollen annehmen (theoretisch, weil ich zu doof bin, eine Mehrfachverwendung pro Projekt zu untersagen)

    Danke und herzlichen Gruß Frank

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    (select Adressen)[cnt(Projektbeteiligte[Rolle = 1])>0]

    oder

     

    unique(select Projektbeteiligte[Rolle = 1].Adressen)

     

    Leo

    • Rechtsanwalt
    • Frank_DIPO2
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Cool, danke! Variante 1 funktioniert. Darf ich nachfragen, warum mein Code nicht funktionieren konnte? Ganz herzlich Frank

    • Leonid_Semik
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Frank. Die Formel Projektbeteiligte.Rolle gibt ein Array aus unterschiedlichen Zahlen zurück. Somit sieht die Bedingung [Projektbeteiligte.Rolle=1] so aus :

    [1,1,2,1,2,2,2]=1 Damit kann Ninox nichts anfangen. Deswegen wird stattdesse gprüft ob in der Untertabelle Projektbeteiligte mindestens einen Datensatz mit der Rolle=1 gibt.

    Leo

    • Rechtsanwalt
    • Frank_DIPO2
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Danke, hilft mir zu verstehen! Ganz herzlich Frank