Kombinationsfeld mit reflexiven Daten

Ein Beispiel für Daten, die aus reflexiv verknüpften Tabellen stammen und die über ein Kombinationsfeld auswählbar sein sollen, sind Kategorien. Diese verwalten Sie typischerweise über ein TreeView-Steuerelement. Aber wenn Sie einem Element eine dieser Kategorien zuweisen wollen, steht zum Beispiel aus Platzgründen vielleicht nur ein Kombinationsfeld zur Auswahl zur Verfügung. Wir zeigen zwei Möglichkeiten, mit denen Sie die Daten aus reflexiv verknüpften Tabellen in einem Kombinationsfeld anzeigen können.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 2001_KombinationsfeldMitReflexivenDaten.accdb.

Beispieldaten

Die Daten, auf denen die folgenden Beispiele aufbauen, stammen wahlweise aus einer Tabelle namens tblKategorien mit den drei Feldern KategorieID, Kategorie und ParentKategorieID, wobei das letzte Feld zur Festlegung übergeordneter Elemente dient. Oder aus den zwei verknüpften Tabellen tblKate-gorien2 und tblKategoriezuordnungen, wobei tblKategorien2 nur die beiden Felder KategorieID und Kategorie enthält und die Tabelle tblKategoriezuordnungen die Felder KategoriezuordnungID, ParentkategorieID und ChildkategorieID. Die letzten beiden Felder sind Fremdschlüsselfelder, die eine Zuordnung von über- und untergeordneten Einträgen der Tabelle tblKategorien2 erlaubt. Details hierzu finden Sie in den beiden Artikeln Reflexive Daten in Tabellen und Reflexive Daten in Abfragen.

Letzterer beschreibt auch, wie Sie die beiden Tabellen tblKategorien2 und tblKategoriezuordnungen so in einer Abfrage zusammenfassen, dass Sie die gleiche Darstellung wie in einer Tabelle tblKategorien erhalten, die direkt das Feld zur Zuordnung zu einem übergeordneten Element enthält. Das Ergebnis dieser Abfrage sieht beispielsweise wie in Bild 1 aus.

Datenbasis für die Darstellung im Kombinationsfeld

Bild 1: Datenbasis für die Darstellung im Kombinationsfeld

Ziel des Artikels

Die Daten aus reflexiven Tabellen lassen sich auf verschiedene Arten darstellen. Wenn Sie die Hierarchie übersichtlich anzeigen und auch die Möglichkeit bieten wollen, die Daten zu verwalten, bietet sich ein TreeView-Steuerelement für diesen Zweck an. Hier können Sie untergeordnete Elemente ein- und ausklappen, Elemente hinzufügen, entfernen, umbenennen oder verschieben. Wie das geht, zeigt der Artikel Kategorien im TreeView verwalten.

Sie können aber auch ein Listenfeld oder ein Kombinationsfeld verwenden, um die Daten der reflexiven Beziehung darzustellen. Im einfachsten Fall zeigen Sie dann einfach nur die Namen der jeweiligen Kategorien an. Da das Kombinations- oder Listenfeld einfach nur der Auswahl der Kategorie dienen soll, reicht das in vielen Fällen schon aus.

Zuordnung zu Artikeln

Zu Beispielzwecken fügen wir noch eine Tabelle namens tblArtikel hinzu, wobei sich diese Tabelle diesmal nicht auf Artikel im Sinne von Produkten, sondern von Zeitschriftenartikeln bezieht. Diese Tabelle sieht in der Entwurfsansicht wie in Bild 2 aus. Das Fremdschlüsselfeld KategorieID zur Auswahl der Kategorie, zu der ein Artikel gehört, haben wir wie üblich eingerichtet – also ohne Berücksichtigung der reflexiven Beziehung.

Tabelle, der die Kategorien per Fremdschlüsselfeld zugewiesen werden

Bild 2: Tabelle, der die Kategorien per Fremdschlüsselfeld zugewiesen werden

Access [basics]

Unser exklusives Angebot für Dich!

Access im Unternehmen
7,90 € im Monat*

(Das Abo ist jederzeit monatlich kündbar)

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.

PayPal VISA Mastercard SEPA
Kostenlos & unverbindlich

Oder 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 →