MS Access Kurs: Formulare mit Unterformularen erstellen
Hier ist ein strukturiertes Tutorial auf Deutsch, das sich ideal als Modul für einen "Einführung in MS Access"-Kurs eignet.
Willkommen zu dieser Lerneinheit. In Microsoft Access ist das Formular mit Unterformular eines der mächtigsten Werkzeuge, um hierarchische Daten darzustellen – also Daten, die in einer 1:n-Beziehung (Eins-zu-Viele) stehen.
Was ist ein Unterformular?
Ein Unterformular ist ein Formular, das in ein anderes Formular (das Hauptformular) eingebettet ist.
- Hauptformular: Zeigt die „1“-Seite der Beziehung (z. B. einen Kunden).
- Unterformular: Zeigt die „n“-Seite der Beziehung (z. B. alle Bestellungen dieses Kunden).
Schritt 1: Die Voraussetzung (Beziehungen)
Bevor Sie beginnen, müssen die Tabellen in der Datenbank korrekt verknüpft sein.
- Gehen Sie auf Datenbanktools > Beziehungen.
- Stellen Sie sicher, dass eine Linie zwischen dem Primärschlüssel der Haupttabelle (z. B.
KundenID) und dem Fremdschlüssel der Detailtabelle (z. B.Kunde_FK) existiert.
Schritt 2: Methode A – Der Formularassistent (Schnellster Weg)
Der Assistent ist ideal für Einsteiger, da er die Verknüpfung automatisch erkennt.
- Klicken Sie im Menüband auf Erstellen > Formularassistent.
- Tabellen/Abfragen auswählen:
- Wählen Sie zuerst die Haupttabelle (z. B.
Tabelle_Kunden) und fügen Sie die gewünschten Felder hinzu. - Wechseln Sie im selben Fenster zur Detailtabelle (z. B.
Tabelle_Bestellungen) und fügen Sie dort ebenfalls die Felder hinzu.
- Wählen Sie zuerst die Haupttabelle (z. B.
- Klicken Sie auf Weiter.
- Anordnung festlegen: Access fragt: „Wie möchten Sie Ihre Daten betrachten?“
- Wählen Sie die Haupttabelle oben aus (z. B. „nach Kunden“).
- Aktivieren Sie die Option Formular mit Unterformular(en).
- Layout wählen: Wählen Sie meist „Datenblatt“ oder „Tabellarisch“ für das Unterformular.
- Namen vergeben: Geben Sie dem Haupt- und dem Unterformular einen Namen (z. B.
frmKundenundsubfrmBestellungen). - Klicken Sie auf Fertigstellen.
Schritt 3: Methode B – Manuelles Erstellen (Drag & Drop)
Wenn Sie bereits ein Hauptformular haben, können Sie das Unterformular manuell hinzufügen.
- Erstellen Sie ein einfaches Formular für die Detaildaten (das spätere Unterformular) und speichern Sie es.
- Öffnen Sie Ihr Hauptformular in der Entwurfsansicht.
- Verkleinern Sie den Bereich im Hauptformular, um Platz zu schaffen.
- Suchen Sie im Navigationsbereich (links) das Detailformular und ziehen Sie es mit der Maus einfach per Drag & Drop in den Detailbereich des Hauptformulars.
- Verknüpfung prüfen:
- Klicken Sie den Rahmen des neuen Unterformulars an.
- Öffnen Sie das Eigenschaftsblatt (F4).
- Prüfen Sie unter dem Reiter Daten:
- Verknüpfen von (Link Child Fields): Das Fremdschlüsselfeld der Detailtabelle.
- Verknüpfen nach (Link Master Fields): Das Primärschlüsselfeld der Haupttabelle.
Schritt 4: Design und Optimierung
Damit das Formular professionell aussieht, sollten Sie folgende Anpassungen vornehmen:
- Größe anpassen: Ziehen Sie den Rahmen des Unterformulars so groß, dass die wichtigsten Spalten ohne horizontales Scrollen sichtbar sind.
- Navigation: Wenn das Unterformular als Datenblatt angezeigt wird, kann der Benutzer direkt darin scrollen und neue Datensätze hinzufügen, die automatisch dem aktuellen Kunden zugeordnet werden.
- Beschriftungen: Löschen oder ändern Sie die automatisch erstellte Beschriftung des Unterformular-Steuerelements für eine sauberere Optik.
Zusammenfassung der Vorteile
- Datenintegrität: Access sorgt automatisch dafür, dass neue Datensätze im Unterformular die richtige ID des Hauptformulars erhalten.
- Übersicht: Sie sehen alle zugehörigen Informationen auf einen Blick, ohne die Tabelle wechseln zu müssen.
- Benutzerfreundlichkeit: Komplexe Datenbankstrukturen werden für den Endanwender einfach bedienbar.
Tipp für Fortgeschrittene: Sie können sogar Unterformulare in Unterformulare einfügen (Verschachtelung), um noch tiefere Datenebenen (z. B. Kunde > Bestellungen > Bestellpositionen) darzustellen.
Dieses Tutorial ist Teil des Moduls "Formular-Design" im Kurs Einführung in MS Access.