DAO-Objekte und -Auflistungen, Teil II

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Waren Containers, Documents und Properties Thema der letzten Ausgabe über DAO-Objekte, so geht es diesmal abschließend um Relations und Workspaces. Dabei handelt es sich zum einen um die Abbildung und Manipulation von Tabellenbeziehungen im Objektmodell, zum anderen um die sogenannten Arbeitsbereiche der Access Database Engine. Erfahren Sie, wie Tabellenbeziehungen einer Datenbank ermittelt und neu angelegt werden können.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1511_DAORelations.accdb

Beziehungsbeispiel

Die Beispieldatenbank enthält vier uns mittlerweile wohlbekannte Tabellen, die über einige Beziehungen miteinander verknüpft sind. Zu den Feldern IDAnrede, IDOrt und IDLand der Tabelle tblAdressen existieren drei Nachschlagetabellen, die mit ihr auf unterschiedliche Weise in Beziehung stehen (siehe Bild 1). Für unsere Zwecke wurden die Beziehungen zum Testen auf etwas eigentümliche Weise modifiziert, die so allerdings keinen rechten Sinn mehr ergeben.

Beziehungslayout der Beispieldatenbank

Bild 1: Beziehungslayout der Beispieldatenbank

Bild 2 zeigt die Einstellungen für die Beziehung zwischen Adressen- und Anreden-Tabelle. Die Referenzielle Integrität wurde ausgeschaltet, aber der Typ mit 1:n beibehalten. Die Einstellungen für die Nachschlagetabelle zu Orten findet sich in Bild 3. Hier wurde nichts verändert. Schließlich stellt Bild 4 die Beziehung für die Länder-Tabelle dar, bei der jeweils zwei Felder verknüpft wurden. Neben dem eigentlichen Primärschlüsselfeld ID zu IDAnrede ist zusätzlich der Ländername Land selbst in der zweiten Zeile 1:n-verknüpft. Außerdem ist der Typ der Beziehung, erreichbar über die Schaltfläche Verknüpfungstyp…, auf den dritten Modus eingestellt, was sie zu einer Left-Join-Beziehung macht (Bild 5) Mit diesen Vorgaben lässt sich Referenzielle Integrität ohnehin nicht mehr festlegen, weil keine Eindeutigkeit mehr gegeben ist.

Einstellungen für die Beziehung zur Tabelle tblOrte

Bild 2: Einstellungen für die Beziehung zur Tabelle tblOrte

Verknüpfungstyp der Beziehung zu tblLaender

Bild 3: Verknüpfungstyp der Beziehung zu tblLaender

Einstellung für die Beziehung zur Tabelle tblLaender

Bild 4: Einstellung für die Beziehung zur Tabelle tblLaender

Einstellungen der Beziehung zur Tabelle tblAnreden

Bild 5: Einstellungen der Beziehung zur Tabelle tblAnreden

Beziehungen auslesen

Für die Beziehungen einer Datenbank ist über das VBA-Objekt Database deren Auflistungseigenschaft Relations zuständig. Die kurze Routine GetRelations in Listing 1 macht deutlich, wie die einzelnen Relation-Objekte in einer For-Each-Schleife durchlaufen werden können.

Sub GetRelations()
     Dim dbs As Database
     Dim rel As DAO.Relation
     
     Set dbs = CurrentDb
     For Each rel In dbs.Relations
         Debug.Print rel.Name
     Next rel
End Sub

Listing 1: Prozedur zum Durchlaufen der DAO-Auflistung Relations

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

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar