Abfragen [basics]: 1:n-Daten in Haupt- und Unterformular

Fast jede Anwendung mit mindestens einer Beziehung zwischen zwei Tabellen verlangt nach der Darstellung der Daten dieser beiden Tabellen in Haupt- und Unterformular. Diese Darstellung lässt sich mit kaum einem System einfacher realisieren als mit Microsoft Access. Wie das gelingt, zeigen wir in diesem Artikel. Dabei greifen wir auf eine sehr einfache Konstellation zurück, die sich umgekehrt auch als mit einem einfachen Formular samt Kombinationsfeld abbilden lässt: Die Verwaltung von Kategorien und den enthaltenen Elementen, in diesem Fall von Büchern. Damit greifen wir einen Teil des Datenmodells unseres Artikels Formulare [basics]: Beispiel Bücherverwaltung (www.access-basics.de/624) auf.

Beispieldatenbank

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

Beispieltabellen

Konkret beziehen wir uns in diesem Artikel auf die beiden Tabellen tblBuecher und tblKategorien. Diese sind über eine 1:n-Beziehung derart verknüpft, dass wir über das Fremdschlüsselfeld KategorieID der Tabelle tblBuecher für jedes Buch einen Datensatz der Tabelle tblKategorien zuweisen können (siehe Bild 1).

Abzubildende Tabellen

Bild 1: Abzubildende Tabellen

Da die Beziehung zwischen den beiden Tabellen mit referenzieller Integrität definiert wurde, ist sichergestellt, dass wir nur Werte für dieses Fremdschlüsselfeld auswählen können, die im Feld KategorieID der Tabelle tblKategorien enthalten sind – oder, im Standardzustand eines solchen Feldes, den Wert Null.

Das kann später einmal zu einem Problem werden – wie das genau aussieht, schauen wir uns weiter unten an.

Aufteilung in Hauptformular und Unterformular

Die Aufteilung in Haupt- und Unterformular ist nicht für jeden Access-Benutzer offensichtlich und notwendig. Immerhin könnte man auch einfach die Kategoriedaten und die Buchdaten in einer Abfrage zusammenstellen und diese in einem einzigen Formular anzeigen. Es gibt nichts, was ich noch nicht gesehen hätte … Jedoch hat die Aufteilung in Haupt- und Unterformular entscheidende Vorteile.

Reihenfolge beim Erstellen der Formulare

In meiner Praxis hat es sich als günstig erwiesen, zunächst das Unterformular in der Datenblattansicht zu erstellen, dieses zu speichern und es dann nach der Erstellung des Hauptformulars in seinen Entwurf hineinzuziehen. Wir starten also mit dem Unterformular.

Erstellen des Unterformulars in der Datenblattansicht

Wir erstellen das Unterformular wie ein gewöhnliches Formular. Dieses Formular wird erst durch das Einfügen in ein anderes Formular zu einem Unterformular. Zum Erstellen rufen wir den Befehl Formularentwurf der Gruppe Formular unter dem Ribbontab Erstellen auf (siehe Bild 2).

Erstellen eines Formulars in der Entwurfsansicht

Bild 2: Erstellen eines Formulars in der Entwurfsansicht

Für das nun angezeigte Formular in der Entwurfsansicht blenden wir nun, soweit noch nicht sichtbar, das Eigenschaftenblatt ein (F4).

Das Formular soll die Daten der Tabelle tblBuecher anzeigen, also wählen wir diese Tabelle für die Eigenschaft Datensatzquelle aus (siehe Bild 3).

Auswählen der Datensatzquelle

Bild 3: Auswählen der Datensatzquelle

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