Formulare [basics]: Abhängige Comboboxen

Ein regelmäßig nachgefragtes Problem ist das der abhängigen Kombinationsfelder. Das bedeutet, dass man für eine Haupttabelle, zum Beispiel zum Verwalten von Fahrzeugen, zwei verknüpfte Tabellen hat, in denen die Hersteller und die Modelle gespeichert werden. Die Tabelle mit den Modellen ist wiederum über ein Fremdschlüsselfeld mit der Tabelle der Hersteller verknüpft. Auf diese Weise könnten wir in einem Formular nach der Auswahl eines Herstellers für ein Fahrzeug über ein Kombinationsfeld in einem weiteren Kombinationsfeld nur noch die Einträge der Tabelle tblModelle anzeigen lassen, die von diesem Hersteller angeboten werden. In diesem Artikel zeigen wir, welche Schritte notwendig sind, um dieses abhängige Kombinationsfeld immer mit den korrekten Daten zu füllen.

Beispieldatenbank

Die Beispiele dieses Artikels findest Du in der Datenbank FormularBasics_AbhaengigeKombinationsfelder.accdb.

Datenmodell der Beispieldatenbank

In der Beispieldatenbank legen wir zunächst die Haupttabelle mit den Fahrzeugen an und speichern sie unter dem Namen tblFahrzeuge.

Hier legen wir ein Primärschlüsselfeld namens FahrzeugID, zwei Fremdschlüsselfelder für die beiden Tabellen tblHersteller und tblModelle, ein Feld für die Fahrzeug-Identifikationsnummer (mit eindeutigem Index) und eines für die Erstzulassung an (siehe Bild 1). Für die beiden Felder HerstellerID und ModellID haben wir die Eigenschaft Eingabe erforderlich auf Ja eingestellt, damit auf jeden Fall ein Hersteller und ein Modell angegeben werden müssen – andernfalls kann der Datensatz nicht gespeichert werden.

Entwurf der Tabelle tblFahrzeuge

Bild 1: Entwurf der Tabelle tblFahrzeuge

Die Tabelle tblHersteller enthält die Felder HerstellerID und Hersteller, wobei letzteres wieder mit einem eindeutigen Index versehen wird (siehe Bild 2).

Entwurf der Tabelle tblHersteller

Bild 2: Entwurf der Tabelle tblHersteller

Schließlich fehlt noch die Tabelle tblModelle, die wir mit den Feldern ModellID, dem Fremdschlüsselfeld zur Tabelle tblHersteller namens HerstellerID und dem Feld Modell ausstatten (siehe Bild 3).

Entwurf der Tabelle tblModelle

Bild 3: Entwurf der Tabelle tblModelle

In Bild 4 sehen wir noch einmal alle Tabellen und ihre Beziehungen im Überblick.

Datenmodell der Beispieldatenbank im Überblick

Bild 4: Datenmodell der Beispieldatenbank im Überblick

Die Fremdschlüsselfelder haben wir direkt mit dem Nachschlage-Assistenten definiert, damit wir später beim Hinzufügen der Felder zum Formularentwurf direkt die gewünschten Kombinationsfelder zur Auswahl erhalten.

Wir haben für alle Beziehungen referenzielle Integrität definiert, damit vor allem für die beiden Fremdschlüsselfelder HerstellerID und ModellID nur bestehende Einträge aus den Tabellen tblHersteller und tblModelle ausgewählt werden können.

Formular zur Verwaltung von Fahrzeugen erstellen

Nun erstellen wir ein neues, leeres Formular und speichern es unter dem Namen frmFahrzeuge. Wir legen als Datensatzquelle die Tabelle tblFahrzeuge fest und ziehen alle Felder dieser Tabelle aus der Feldliste in den Detailbereich des Formulars. Da wir die Fremdschlüsselfelder im Tabellenentwurf als Nachschlagefelder definiert haben, werden diese direkt als Kombinationsfelder angelegt (siehe Bild 5).

Entwurf des Formulars frmFahrzeuge

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar