Habe drei Tabellen angelegt, mit der ich eine n:m-Beziehung zwischen Mitgliedern und Projekten abbilde:
Mitglieder
ID, Name, Vorname, ...
Projekt
ID, Projektname, Projektbeschreibung, ...
Projektgruppe
ID, MitgliederID, ProjektID
Jedem Projekt können mehrere Mitglieder zugeordnet werden.
Jedes Mitglied kann in mehreren Projekten tätig sein.
Habe ein Formular erstellt, mit der Tabelle "Projekt" als Haupttabelle. Im Unterformular ist die Tabelle "Projektgruppe" als Grid enthalten, in der ich dann die Mitglieder zu einem Projekt eintragen möchte. Über ein Listenfeld kann ich die MitgliederID aus der Mitgliedertabelle mit dem lesbarem Namen auswählen.
Die Tabellen sind über Projekt.ID = Projektgruppe.ProjektID miteinander verknüpft, so dass die Mitglieder im Grid gelistet werden, die in dem aktuellen Projekt mitarbeiten.
In dem Listenfeld werden aber immer alle vorhandenen Mitglieder aufgelistet. Wie kann ich verhindern, dass Mitglieder, welche bereits in der aktuellen Projektgruppe sind, in dem Listenfeld angezeigt werden?
Per SQL wäre das prinzipiell zu lösen:
Code: Alles auswählen
select Name || ', ' || Vorname as Mitglied, ID from Mitglieder where ID not in (select MitgliederID from Projektgruppe where ProjektID = <ID des aktuellen Projektes>)
Ich weiss aber nicht, wie ich diese ID in den Select einbauen kann.
Wie kann ich also ID des aktuellen Projekt-Datensatzes im obigen Select verwenden?
Oder gibt es eine andere elegante Möglichkeit "doppelte Gruppenmitglieder" zu verhindern bzw. die Auswahl im Listenfeld auf Mitglieder zu beschränken, die nicht in der aktuellen Projektgruppe sind?
Gruß
Carsten