In Ihrem Nordwind-Beispiel kann ein Kunde mehrere Mitarbeiter haben. Anderseits kann jeder Mitarbeiter auch mehrere Kunden betreuen.
In diesem Fall würde ich an Ihrer Stelle eine Zwischentabelle anlegen, die diese m:n-Beziehung darstellt. Zunächst legen Sie eine Tabelle namens Mitarbeiter mit folgenden Feldern an:
| Mitarbeiter |
Autowert (Primärschlüssel) |
| Nachname |
Text[50] |
| Vorname |
Text[50] |
| Abteilung |
Text[50] |
Die Zwischentabelle heißt MitarbeiterUndKunden und enthält diese zwei Felder:
| Mitarbeiter |
Autowert (Primärschlüssel) |
| Mitarbeiter |
Zahl (Long Integer) |
| Kunden-Code |
Text[5] |
Der Primärschlüssel der Zwischentabelle besteht aus beiden Feldern, damit die Beziehung zwischen einem bestimmten Mitarbeiter und einem bestimmten Kunden nur einmal vorkommen kann.
Öffnen Sie nun die Beziehungen der Datenbank (Extras / Beziehungen) und fügen Sie die Tabellen Mitarbeiter und MitarbeiterUndKunden hinzu. Erstellen Sie dann Beziehungen zwischen diesen beiden Tabellen und der Tabelle Kunden wie in Abb. 1 unten.
Erstellen Sie dann ein Formular, das auf der Tabelle MitarbeiterUndKunden basiert, und ein Kombinationsfeld mit diesen Eigenschaften:
| Steuerelementinhalt |
MitarbeiterNr |
| Datensatzherkunft |
SELECT MitarbeiterNr, Nachname, Vorname, Abteilung FROM Mitarbeiter; |
| Gebundene Spalte |
1 |
| Spaltenanzahl |
4 |
| Spaltenbreiten |
0cm;2,54cm;2,54cm;2,54cm |
Dieses Kombinationsfeld erlaubt die Auswahl eines Mitarbeiters. Die vier Spalten zeigen den Nachnamen, Vornamen und die Abteilung des Mitarbeiters. Der Primärschlüsselwert (MitarbeiterNr) bleibt im Kombinationsfeld versteckt.
Ziehen Sie dann das neue Formular per Drag & Drop auf das Formular Kunden in der Entwurfsansicht. Die Verknüpfung zwischen dem Kunden-Formular und dem Mitarbeiter-Unterformular wird auf dem Feld Kunden-Code automatisch für Sie erstellt.
Wenn Sie das Formular nun in der Formularansicht öffnen, können Sie für jeden Kunden die zuständigen Mitarbeiter bearbeiten. Die Beziehungen, die Sie vorhin definiert haben, sorgen für die richtige m:n-Darstellung des Mitarbeiter-Kunden- Verhältnisses