Tutorial: Formulare und Unterformulare in Microsoft Access erstellen

Melden

Hier ist ein ausführliches Tutorial zur Erstellung von Formularen und Unterformularen in Microsoft Access.


Ein Formular mit einem Unterformular ist ideal, um Daten aus zwei Tabellen anzuzeigen, die in einer 1:n-Beziehung (Eins-zu-viele) stehen. Ein klassisches Beispiel ist eine Tabelle „Kunden“ (Hauptformular) und eine Tabelle „Bestellungen“ (Unterformular).

1. Voraussetzung: Die Beziehung definieren

Bevor Sie beginnen, müssen die Tabellen in Access miteinander verknüpft sein.

  1. Gehen Sie auf den Reiter Datenbanktools > Beziehungen.
  2. Fügen Sie die beiden Tabellen hinzu.
  3. Ziehen Sie den Primärschlüssel der Haupttabelle (z. B. Kunden-ID) auf den Fremdschlüssel der Detailtabelle (z. B. Kunden-ID in Bestellungen).
  4. Aktivieren Sie „Mit referenzieller Integrität“ und klicken Sie auf Erstellen.

Methode A: Der Formular-Assistent (Schnellster Weg)

Dies ist die einfachste Methode für Einsteiger, da Access die Verknüpfung automatisch erkennt.

  1. Klicken Sie im Menüband auf den Reiter Erstellen.
  2. Wählen Sie in der Gruppe „Formulare“ den Formular-Assistenten.
  3. Felder auswählen:
    • Wählen Sie im Dropdown-Menü zuerst die Haupttabelle (z. B. „Kunden“) aus und schieben Sie die gewünschten Felder mit dem > Button nach rechts.
    • Wählen Sie dann im gleichen Fenster die Detailtabelle (z. B. „Bestellungen“) aus und schieben Sie ebenfalls die gewünschten Felder nach rechts.
    • Klicken Sie auf Weiter.
  4. Ansicht festlegen:
    • Access fragt nun: „Wie möchten Sie Ihre Daten anzeigen?“
    • Wählen Sie die Haupttabelle aus (oben).
    • Markieren Sie die Option Formular mit Unterformular(en).
    • Klicken Sie auf Weiter.
  5. Layout wählen:
    • Wählen Sie für das Unterformular meistens Datenblatt (sieht aus wie Excel) oder Tabellarisch.
  6. Namen vergeben:
    • Geben Sie dem Hauptformular und dem Unterformular aussagekräftige Namen.
  7. Klicken Sie auf Fertigstellen.

Methode B: Unterformular per Drag & Drop (Manuell)

Wenn Sie bereits ein Hauptformular haben und ein Unterformular hinzufügen möchten:

  1. Öffnen Sie Ihr Hauptformular in der Entwurfsansicht.
  2. Stellen Sie sicher, dass das Navigationsmenü (links) mit Ihren Tabellen sichtbar ist.
  3. Klicken Sie die Tabelle an, die das Unterformular werden soll, halten Sie die Maustaste gedrückt und ziehen Sie die Tabelle direkt in das Hauptformular.
  4. Der Unterformular-Assistent öffnet sich automatisch:
    • Wählen Sie „Verknüpfung aus einer Liste auswählen“ oder definieren Sie die Felder selbst (z. B. Kunden-ID mit Kunden-ID verknüpfen).
  5. Klicken Sie auf Fertigstellen.

3. Feinabstimmung und Design

Nachdem das Unterformular erstellt wurde, sollten Sie es anpassen:

  • Größe anpassen: Wechseln Sie in die Entwurfsansicht, um den Rahmen des Unterformular-Steuerelements zu vergrößern oder zu verkleinern.
  • Eigenschaften prüfen: Klicken Sie auf den Rand des Unterformulars (im Hauptformular). Schauen Sie im Eigenschaftenblatt (F4) unter dem Reiter „Daten“ nach diesen zwei Zeilen:
    • Verknüpfen von (Link Master Fields): Das Feld aus dem Hauptformular.
    • Verknüpfen nach (Link Child Fields): Das Feld aus dem Unterformular.
    • Diese müssen identisch sein (z. B. beide Kunden-ID), damit beim Blättern im Hauptformular nur die passenden Datensätze im Unterformular erscheinen.
  • Spaltenbreiten: Wechseln Sie in die Formularansicht, um die Spalten im Unterformular-Datenblatt wie in Excel zurechtzuziehen. Access speichert diese Ansicht beim Schließen.

Häufige Fehler vermeiden

  • Keine Beziehung: Wenn das Unterformular immer alle Datensätze anzeigt und nicht mit dem Hauptdatensatz mitgeht, prüfen Sie die „Verknüpfen von/nach“-Eigenschaften.
  • Schreibschutz: Stellen Sie sicher, dass in den Eigenschaften der Tabellen oder des Formulars „Bearbeitungen zulassen“ auf Ja steht, falls Sie Daten eingeben möchten.

Tipp: Sie können sogar mehrere Unterformulare in einem Hauptformular platzieren oder ein Unterformular in ein Unterformular einfügen (Verschachtelung), um noch komplexere Datenstrukturen abzubilden.

0