
Bild 1: Datenmodell für eine einfache Abhängigkeit
Noch in Ausgabe 4/2026 haben wir berichtet, wie Sie abhängige Kombinationsfelder programmieren können. Und zwar auch solche, die in Endlosformularen und Datenblättern funktionieren, ohne dass Werte in den Kombinationsfelder anderer Datensätze als dem aktuell bearbeiteten ausgeblendet werden. Doch jetzt scheint dies alles Geschichte zu sein: Microsoft hat in Version 2609 für die aktuellen Kanäle (außer LTSC) zwei neue Eigenschaften für Kombinations- und Listenfelder bereitgestellt, mit denen wir abhängige Daten genau wie bei Haupt- und Unterformularen filtern können. Dieser Beitrag zeigt, wie Sie diese Eigenschaften einsetzen und damit die eine oder andere VBA-Programmierung einsparen können.
Als Beispiel verwenden wir zunächst die Produkttabelle aus der Beispieldatenbank, die ein erstes Nachschlagefeld namens KategorieID enthält und ein zweites namens UnterkategorieID. Später ziehen wir noch ein weiteres Beispiel hinzu, um auch noch die Verwendung von mehr als zwei Ebenen für abhängige Kombinations- und Listenfelder zu beschreiben. Die drei Tabellen tblProdukte, tblKategorien und tblUnterkategorien sind wie in Bild 1 miteinander verknüpft.

Bild 1: Datenmodell für eine einfache Abhängigkeit
Formular mit abhängigen Kombinationsfeldern
In einem Formular fügen wir einfach die Felder der Tabelle tblProdukte ein. Dabei entstehen automatisch zwei Kombinationsfelder, das wir die beiden Felder KategorieID und UnterkategorieID im Tabellenentwurf als Nachschlagefelder definiert haben.
Zeigen wir das Eigenschaftenblatt dieses Formulars an, sehen wir unter Daten zwei neue Eigenschaften, nämlich Verknüpfen von und Verknüpfen nach. Das sind alte Bekannte, die wir bereits vom Unterformular-Steuerelement kennen (siehe Bild 2).

Bild 2: Die neuen Eigenschaften Verknüpfen von und Verknüpfen nach
Für diese Eigenschaften des Kombinationsfeldes, das wir als abhängiges Kombinationsfeld definieren wollen, geben wie folgende Informationen an:
- Verknüpfen von: Das Feld der Datensatzherkunft des Kombinationsfeldes UnterkategorieID, das von dem Wert eines anderen Kombinationsfeldes abhängig sein soll, hier KategorieID.
- Verknüpfen nach: Hier legen wir fest, mit welchem Feld oder Steuerelement des Formulars verknüpft werden soll. Wichtig: Das Feld muss entweder als Feld in der Datensatzquelle des Formulars vorhanden sein oder ein Steuerelement muss so heißen. Hier tragen wir ebenfalls KategorieID ein.
Interessant ist an dieser Stelle, dass wir für das zweite, abhängige Kombinationsfeld eine Datensatzherkunft festgelegt haben, die das Feld KategorieID nicht enthält:
SELECT UnterkategorieID, Unterkategorie FROM tblUnterkategorien ORDER BY Unterkategorie;
Das Feld KategorieID, das wir hier eingeben, wird auch nicht zur Auswahl angeboten (siehe Bild 3).

Bild 3: Das Feld KategorieID wird nicht zur Auswahl angeboten.
Dennoch funktioniert das abhängige Kombinationsfeld, wie Bild 4 zeigt.

Bild 4: Werte im abhängigen Kombinationsfeld
Leeren des abhängigen Kombinationsfeldes bei Neuauswahl
Bisher mussen wir auch die abhängigen Kombinationsfelder per VBA leeren, wenn wir das erste Kombinationsfeld geleert haben. Auch das geschieht nun automatisch. Leeren wir KategorieID, erhält auch UnterkategorieID den Wert Null. Dies prüfen wir in Bild 5 auch im Direktbereich, wo wir uns die Werte der beiden Steuerelemente ausgeben lassen.

Bild 5: Werte nach dem Leeren im Direktbereich
Mehrere abhängige Listenfelder
Im zweiten Beispiel nutzen wir die Tabelle tblFahrzeuge, der wir drei Nachschlagefelder hinzugefügt haben: HerstellerID, ModellID und UntermodellID.
Diese sind wie in Bild 6 miteinander verknüpft.

Bild 6: Datenmodell für mehrere abhängige Auswahl-Steuerelemente
Im Formular frmFahrzeuge verwenden wir die Tabelle tblFahrzeuge als Datensatzquelle. Da die drei Felder HerstellerID, ModellID und UntermodellID als Nachschlagefelder definiert sind, werden diese beim Hineinziehen aus der Feldliste zunächst als Kombinationsfelder angelegt.
Wir wandeln diese über den Kontextmenü-Eintrag Ändern zu|Listenfeld zunächst in Listenfelder um (siehe Bild 7). Anschließend stellen wir ihre Namen auf lstHerstellerID, lstModellID und lstUntermodellID ein.

Bild 7: Formular mit den Listenfeldern zur Auswahl
Wechseln wir nun in die Formularansicht, sehen wir zunächst immer alle Hersteller, Modelle und Untermodelle in den Listenfeldern (siehe Bild 8).

Bild 8: Listenfelder ohne Abhängigkeiten
Dies wollen wir nun so ändern, dass nach der Auswahl eines Eintrags im vorherigen Listenfeld nur noch die passenden Einträge im folgenden Listenfeld erscheinen.
Dazu nehmen wir zwei Einstellungen vor. Als Erstes legen wir Verknüpfen von und Verknüpfen nach für lstModellID jeweils auf HerstellerID fest (siehe Bild 9).

Bild 9: Verknüpfungen für lstModellID
Dann stellen wir die gleichen Eigenschaften für lstUntermodellID auf ModellID ein (siehe Bild 10).

Unser exklusives Angebot für Dich!
(Gilt für den Abschluss eines Jahres-Abonnements im ersten Jahr, danach 189,-/Jahr)
Hier geht’s weiter →Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.
Hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?
Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?
In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.
Jetzt kostenloses Access-Audit anfordern →