Wenn Sie in Access mit relationalen Daten arbeiten, müssen Sie häufig mehrere Tabellen oder Abfragen im selben Formular anzeigen. So können Sie z. B. Kundendaten aus einer Tabelle und Kundenbestellinformationen aus einer anderen Tabelle gleichzeitig anzeigen. Unterformulare erleichtern dies, und Access bietet mehrere schnelle Möglichkeiten, sie zu erstellen.
Was möchten Sie tun?
- Mehr über Unterformate erfahren
- Erstellen oder Hinzufügen eines Unterformulars
- Erstellen eines Formulars mit einem Unterformular unter Verwendung des Formular-Assistenten
- Hinzufügen eines oder mehrerer Unterformulare zu einem vorhandenen Formular mithilfe des Unterformular-Assistenten
- Erstellen eines Unterformulars durch Ziehen eines Formulars in ein anderes
- Öffnen eines Unterformulars in einem neuen Fenster in der Entwurfsansicht
- Ändern der Standardansicht eines Unterformulars
- Hinzufügen von verknüpften Daten zu einem Formular ohne Erstellung eines Unterformulars
Mehr über Unterformate erfahren
Ein Unterformular ist ein Formular, das in ein anderes Formular eingefügt wird. Das Hauptformular wird als Hauptformular bezeichnet, das umschlossene Formular als Unterformular. Eine Kombination aus Formular/Unterformular wird manchmal auch als hierarchisches Formular, Master-/Detailformular oder übergeordnetes/untergeordnetes Formular bezeichnet.
Unterformulare eignen sich besonders gut, wenn Sie Daten aus Tabellen oder Abfragen anzeigen möchten, die eine 1:n-Beziehung aufweisen. Bei diesem Beziehungstyp stimmt der Primärschlüsselwert jedes Datensatzes in der Primärtabelle mit dem Wert im entsprechenden Feld oder in den Feldern vieler Datensätze in der verknüpften Tabelle überein. Sie können beispielsweise ein Formular erstellen, in dem die Daten der Mitarbeiter angezeigt werden, sowie ein Unterformular, in dem die Bestellungen der einzelnen Mitarbeiter angezeigt werden. Sie können beispielsweise ein Formular erstellen, das Mitarbeiterdaten anzeigt und ein Unterformular enthält, das die Bestellungen jedes Mitarbeiters anzeigt. Die Daten in der Tabelle "Bestellungen" sind die "n"-Seite der Beziehung, da jeder Mitarbeiter mehr als eine Bestellung haben kann.
Im Hauptformular werden Daten von der 1-Seite der Beziehung angezeigt.
Im Unterformular werden Daten von der n-Seite der Beziehung angezeigt.
Bei dieser Art Formular sind das Hauptformular und das Unterformular so verknüpft, dass das Unterformular nur Datensätze anzeigt, die mit dem aktuellen Datensatz im Hauptformular verknüpft sind. Wenn z. B. das Hauptformular die Informationen zu "Nancy Freehafer" anzeigt, zeigt das Unterformular nur Ihre Bestellungen an. Wenn die Verknüpfung von Formular und Unterformular aufgehoben wäre, würden im Unterformular alle Bestellungen angezeigt, nicht nur die von Nancy.
In der folgenden Tabelle sind Begriffe im Zusammenhang mit Unterformularen definiert. Access verarbeitet die meisten Details, wenn Sie die Verfahren in diesem Artikel verwenden. Es ist jedoch hilfreich zu wissen, was im Hintergrund passiert, wenn Sie später Änderungen vornehmen müssen.
| Begriff | Definition |
|---|---|
| Unterformular-Steuerelement | Das Steuerelement, mit dem ein Formular in einem Formular eingebettet wird. Sie können sich das Unterformular-Steuerelement als Ansicht eines anderen Objekts in der Datenbank vorstellen, gleichgültig, ob es sich um ein Formular, eine Tabelle oder eine Abfrage handelt. Das Unterformular-Steuerelement enthält Eigenschaften, mit deren Hilfe Sie die im Steuerelement angezeigten Daten mit den Daten im Hauptformular verknüpfen können. |
| "Herkunftsobjekt"-Eigenschaft | Die Eigenschaft des Unterformular-Steuerelements, das bestimmt, welches Objekt im Steuerelement angezeigt wird. |
| Datenblatt | Eine einfache Anzeige von Daten in Zeilen und Spalten, ähnlich einem Tabellenblatt. Das Unterformular-Steuerelement zeigt ein Datenblatt an, wenn das Quellobjekt eine Tabelle oder Abfrage ist oder wenn das Quellobjekt ein Formular ist, dessen Default View Eigenschaft auf Datasheetfestgelegt ist. In diesem Fall wird das Unterformular gelegentlich nicht als Unterformular, sondern als Datenblatt oder Unterdatenblatt bezeichnet. |
| "Verknüpfen von"-Eigenschaft | Die Eigenschaft des Unterformular-Steuerelements, die angibt, welches Feld oder welche Felder im Unterformular es mit dem Hauptformular verknüpfen. |
| "Verknüpfen nach"-Eigenschaft | Die Eigenschaft des Unterformular-Steuerelements, die angibt, welches Feld oder welche Felder im Hauptformular es mit dem Unterformular verknüpfen. |
Hinweis
- Zur Erzielung optimaler Ergebnisse richten Sie zunächst Tabellenbeziehungen ein, bevor Sie die in diesem Artikel erläuterten Verfahren ausführen. Auf diese Weise kann Access die Verknüpfungen zwischen Unter- und Hauptformularen automatisch erstellen. Um Beziehungen zwischen den Tabellen in Ihrer Datenbank anzuzeigen, hinzuzufügen oder zu ändern, klicken Sie auf der Registerkarte Datenbanktools in der Gruppe Beziehungen auf Beziehungen.
- Wenn ein Unterformularsteuerelement ein Formular als Quellobjekt hat, enthält es die Felder, die Sie auf dem Formular platzieren. Sie können sie als einzelnes Formular, Endlosformular oder Datenblatt anzeigen. Ein Vorteil, wenn ein Unterformular auf einem Formularobjekt basiert, besteht darin, dass Sie dem Unterformular berechnete Felder hinzufügen können, z. B
[Quantity] * [Unit price]. - Sie können ein Datenblatt oder eine PivotChart-Ansicht in ein Formular einfügen, indem Sie ein Unterformular-Steuerelement erstellen, dessen Herkunftsobjekt eine Tabelle oder Abfrage ist. Weitere Informationen finden Sie im Abschnitt Hinzufügen von verknüpften Daten zu einem Formular ohne Erstellung eines Unterformulars.
Erstellen oder Hinzufügen eines Unterformulars
Anhand der folgenden Tabelle können Sie herausfinden, welches Verfahren für Ihre Situation optimal geeignet ist.
| Szenario | Empfohlenes Verfahren |
|---|---|
| Access soll sowohl ein Hauptformular als auch ein Unterformular erstellen und das Unterformular mit dem Hauptformular verknüpfen. | Erstellen eines Formulars mit einem Unterformular unter Verwendung des Formular-Assistenten |
| Sie möchten ein vorhandenes Formular als Hauptformular verwenden, möchten aber, dass Access ein neues Unterformular erstellt und dieses dem Hauptformular hinzufügt. | Hinzufügen von einem oder mehreren Unterformularen zu einem vorhandenen Formular mithilfe des Unterformular-Assistenten |
| Sie möchten ein vorhandenes Formular als Unterformular verwenden und diesem Formular ein oder mehrere vorhandene Formulare als Unterformulare hinzufügen. | Erstellen eines Unterformulars durch Ziehen eines Formulars in ein anderes |
Erstellen eines Formulars mit einem Unterformular unter Verwendung des Formular-Assistenten
Mit diesem Verfahren wird mithilfe des Formular-Assistenten eine neue Kombination aus Formular und Unterformular erstellt. Es ist auch die schnellste Möglichkeit, um loszulegen, wenn Sie die Formulare, die Sie als Haupt- oder Unterformular verwenden möchten, noch nicht erstellt haben.
Klicken Sie auf der Registerkarte Erstellen in der Gruppe Formulare auf Formular-Assistent.
Wählen Sie auf der ersten Seite des Assistenten in der Dropdownliste Tabellen/Abfragen eine Tabelle oder Abfrage aus. Wenn Sie in diesem Beispiel ein Formular "Mitarbeiter" erstellen möchten, in dem Bestellungen für jeden Mitarbeiter in einem Unterformular angezeigt werden, wählen Sie Tabelle: Mitarbeiter (die "1"-Seite der 1:n-Beziehung).
Hinweis
Es spielt keine Rolle, welche Tabelle oder Abfrage Sie zuerst auswählen.
Doppelklicken Sie auf die Felder, die Sie aus dieser Tabelle oder Abfrage verwenden möchten.
Wählen Sie auf derselben Seite des Assistenten in der Dropdownliste Tabellen/Abfragen eine andere Tabelle oder Abfrage aus der Liste aus. Wählen Sie in diesem Beispiel die Tabelle "Bestellungen" aus (die "Viel"-Seite der 1:n-Beziehung).
Doppelklicken Sie auf die Felder, die Sie aus dieser Tabelle oder Abfrage verwenden möchten.
Wenn Sie auf "Weiter" klicken und davon ausgehen, dass Sie die Beziehungen ordnungsgemäß eingerichtet haben, bevor Sie den Assistenten gestartet haben, fragt der Assistent Wie möchten Sie Ihre Daten anzeigen? — das heißt, nach welcher Tabelle oder Abfrage. Wählen Sie die Tabelle auf der 1-Seite der 1:n-Beziehung aus. Um in diesem Beispiel das Formular "Mitarbeiter" zu erstellen, wählen Sie nach Mitarbeiter aus. Der Assistent zeigt ein kleines Diagramm eines Formulars an. Die Seite sollte der folgenden Abbildung ähneln:
Das Feld im unteren Teil des Formulardiagramms stellt das Unterformular dar.
Hinweis
Wenn der Assistent nicht abfragt Wie sollen Ihre Daten angezeigt werden?, bedeutet dies, dass Access keine 1:n-Beziehung zwischen den von Ihnen ausgewählten Tabellen oder Abfragen erkannt hat. Der Assistent wird zwar fortgesetzt, aber Access fügt dem Formular kein Unterformular hinzu. Wenn Sie die Tabellenbeziehungen untersuchen möchten, klicken Sie auf Abbrechen, bevor Sie den Vorgang fortsetzen.
Wählen Sie unten auf der Seite des Assistenten Formular mit Unterformular(en), und klicken Sie anschließend auf Weiter.
Klicken Sie auf der Seite Welches Layout möchten Sie für Ihr Unterformular? auf die gewünschte Layoutoption, und klicken Sie dann auf Weiter. Beide Layoutstile ordnen die Unterformulardaten in Zeilen und Spalten an, aber ein tabellarisches Layout bietet mehr Optionen. Sie können einem tabellarischen Unterformular Farbe, Grafiken und andere Formatierungselemente hinzufügen, während ein Datenblatt kompakter ist, wie die Datenblattansicht einer Tabelle.
Wählen Sie auf der nächsten Seite des Assistenten eine Formatvorlage für das Formular aus, und klicken Sie dann auf Weiter. Wenn Sie auf der vorhergehenden Seite Tabellarisch ausgewählt haben, wird die ausgewählte Formatvorlage auch auf das Unterformular angewendet.
Geben Sie auf der letzten Seite des Assistenten die gewünschten Titel für die Formulare ein. Access benennt die Formulare auf Basis der eingegebenen Titel und das Unterformular auf Basis des dafür eingegebenen Titels.
Geben Sie an, ob Sie das Formular in der Formularansicht öffnen möchten, damit Sie Informationen anzeigen oder eingeben können, oder in der Entwurfsansicht, damit Sie den Entwurf ändern können, und klicken Sie dann auf "Fertig stellen". Access erstellt zwei Formulare: eines für das Hauptformular, das das Unterformularsteuerelement enthält, und eines für das Unterformular selbst.
Hinzufügen von einem oder mehreren Unterformularen zu einem vorhandenen Formular mithilfe des Unterformular-Assistenten
Mithilfe dieses Verfahrens können Sie einem vorhandenen Formular ein oder mehrere Unterformulare hinzufügen. Für jedes Unterformular können Sie auswählen, ob von Access ein neues Formular erstellt oder ein vorhandenes Formular als Unterformular verwendet werden soll.
- Klicken Sie mit der rechten Maustaste auf das vorhandene Formular im Navigationsbereich, und klicken Sie dann auf Entwurfsansicht.
- Klicken Sie auf der Registerkarte Formularentwurf in der Gruppe Steuerelemente auf den Pfeil nach unten, um den Steuerelementkatalog anzuzeigen, und stellen Sie sicher, dass Steuerelement-Assistenten verwenden ausgewählt ist.
- Klicken Sie auf der Registerkarte "Formularentwurf " in der Gruppe "Steuerelemente " auf die Schaltfläche "Unterformular/Unterbericht ".
- Klicken Sie auf das Formular, in dem Sie das Unterformular platzieren möchten.
- Befolgen Sie die Anweisungen des Assistenten. Wenn Sie auf Fertig stellen klicken, fügt Access dem Formular ein Unterformular-Steuerelement hinzu. Wenn Sie ausgewählt haben, dass von Access für das Unterformular ein neues Formular erstellt wird, statt ein vorhandenes Formular zu verwenden, erstellt Access das neue Formularobjekt und fügt es dem Navigationsbereich hinzu
Erstellen eines Unterformulars durch Ziehen eines Formulars in ein anderes
Gehen Sie wie folgt vor, wenn Sie ein vorhandenes Formular als Hauptformular verwenden und ihm ein oder mehrere vorhandene Formulare als Unterformular hinzufügen möchten.
- Klicken Sie im Navigationsbereich mit der rechten Maustaste auf das Formular, das als Hauptformular verwendet werden soll, und klicken Sie dann auf Layoutansicht.
- Ziehen Sie das Formular, das Sie als Unterformular verwenden möchten, aus dem Navigationsbereich auf das Hauptformular. Access fügt dem Hauptformular ein Unterformular-Steuerelement hinzu und bindet das Steuerelement an das Formular, das aus dem Navigationsbereich gezogen wurde. Access versucht außerdem, das Unterformular auf Grundlage der in Ihrer Datenbank definierten Beziehungen mit dem Hauptformular zu verknüpfen.
- Wiederholen Sie diesen Schritt, um dem Hauptformular weitere Unterformulare hinzuzufügen.
- Klicken Sie zur Überprüfung des Erfolgs der Verknüpfung auf der Registerkarte Start in der Gruppe Ansichten auf Ansicht, dann auf Formularansicht, und verwenden Sie den Datensatzmarkierer des Hauptformulars, um mehrere Datensätze zu durchlaufen. Wenn sich das Unterformular ordnungsgemäß nach jedem Mitarbeiter filtern lässt, ist das Verfahren abgeschlossen.
Wenn der vorherige Test nicht funktioniert, konnte Access nicht ermitteln, wie das Unterformular mit dem Hauptformular verknüpft werden soll, und die Link Child FieldsLink Master Fields und-Eigenschaften des Unterformular-Steuerelements sind leer. Sie müssen diese Eigenschaften folgendermaßen manuell festlegen:
Klicken Sie mit der rechten Maustaste auf das Hauptformular im Navigationsbereich und dann auf Entwurfsansicht.
Klicken Sie einmal auf das Unterformular-Steuerelement, um es auszuwählen.
Wenn der Aufgabenbereich Eigenschaftenblatt nicht angezeigt wird, drücken Sie F4 , um ihn anzuzeigen.
Klicken Sie im Eigenschaftenblatt auf die Registerkarte Daten.
Klicken Sie neben dem
Link Child FieldsEigenschaftenfeld auf die Schaltfläche "Erstellen".
Das Dialogfeld "Unterformularfeldverknüpfer" wird angezeigt.Wählen Sie in den Dropdownlisten Felder in übergeordneter Tabelle und Felder in untergeordneter Tabelle die Felder aus, die Sie mit den Formularen verknüpfen möchten, und klicken Sie auf OK. Wenn Sie nicht sicher sind, welche Felder Sie verwenden sollen, klicken Sie auf Vorschlagen, damit Access versucht, die verknüpfenden Felder zu ermitteln.
Tipp
Wenn das Feld, das Sie zum Verknüpfen der Formulare verwenden möchten, nicht angezeigt wird, müssen Sie möglicherweise die Datensatzquelle des Master-Formulars oder des untergeordneten Formulars bearbeiten, um sicherzustellen, dass das Verknüpfungsfeld enthalten ist. Wenn das Formular beispielsweise auf einer Abfrage basiert, müssen Sie sicherstellen, dass sich das verknüpfende Feld im Abfrageergebnis befindet.
Speichern Sie das Hauptformular, wechseln Sie zur Formularansicht, und überprüfen Sie, ob das Formular wie erwartet funktioniert.
Öffnen eines Unterformulars in einem neuen Fenster in der Entwurfsansicht
Wenn Sie Entwurfsänderungen an einem Unterformular vornehmen möchten, während Sie an dessen Hauptformular in der Entwurfsansicht arbeiten, können Sie das Unterformular in einem eigenen Fenster öffnen:
- Klicken Sie auf das Unterformular, um es auswählen.
- Klicken Sie auf der Registerkarte "Formularentwurf " in der Gruppe "Tools " auf "Unterformular in neuem Fenster".
Ändern der Standardansicht eines Unterformulars
Wenn Sie einem Formular ein Unterformular hinzufügen, zeigt das Unterformular-/Unterbericht-Steuerelement das Unterformular entsprechend der Eigenschaft des Unterformulars Default View an. Diese Eigenschaft kann auf die folgenden Werte festgelegt werden:
- Einzelnes Formular
- Endlosformular
- Datenblatt
- Geteiltes Formular
Beim erstmaligen Erstellen eines Unterformulars kann diese Eigenschaft auf "Kontinuierliche Formulare " oder "Einzelnes Formular" festgelegt werden. Wenn Sie die Default View Eigenschaft eines Unterformulars jedoch auf Datasheetfestlegen, wird das Unterformular als Datenblatt im Hauptformular angezeigt.
So legen Sie die Default View Eigenschaft eines Unterformulars fest:
Schließen Sie alle geöffneten Objekte.
Klicken Sie im Navigationsbereich mit der rechten Maustaste auf das Unterformular, und klicken Sie dann auf Entwurfsansicht.
Wenn das Eigenschaftenblatt noch nicht angezeigt wird, drücken Sie F4 , um es anzuzeigen.
Vergewissern Sie sich, dass in der Dropdownliste oben im Eigenschaftenblatt die Option Formular ausgewählt ist.
Legen Sie auf der Registerkarte Format des Eigenschaftenblatts die Eigenschaft Standardansicht auf die zu verwendende Ansicht fest.
Hinweis
Wenn die Ansicht, die Sie verwenden möchten, nicht in der Liste enthalten ist, stellen Sie sicher, dass die
Allow...ViewEigenschaft für diese Ansicht auf Ja festgelegt ist. Wenn Sie beispielsweise Datenblatt als Standardansicht für das Formular angeben möchten, stellen Sie sicher, dass die Eigenschaft Datenblattansicht zulassen auf Ja festgelegt ist.Speichern und schließen Sie das Unterformular, und öffnen Sie das Hauptformular, um die Ergebnisse zu überprüfen.
Hinzufügen von verknüpften Daten zu einem Formular ohne Erstellung eines Unterformulars
Sie müssen nicht immer ein separates Formularobjekt erstellen, um verwandte Daten anzuzeigen. Wenn Sie beispielsweise ein Formular in der Layout- oder in der Entwurfsansicht bearbeiten und eine Tabelle oder Abfrage aus dem Navigationsbereich auf das Formular ziehen, wird von Access ein Unterformular/-bericht-Steuerelement erstellt, das die Daten in dem Objekt anzeigt. Die Eigenschaft des Objekts Default View bestimmt, wie die Daten angezeigt werden. Normalerweise ist dies auf die Datenblattansicht festgelegt. Sie können die Default View Eigenschaft einer Tabelle oder Abfrage jedoch auch auf "Einzelnes Formular", " Geteiltes Formular" oder "Endlosformular" festlegen, wodurch Sie mehr Flexibilität beim Anzeigen verknüpfter Daten in Formularen erhalten.
Hinweis
Wenn Sie die Default View Eigenschaft für eine Tabelle oder Abfrage ändern, wird bestimmt, wie sie bei jedem Öffnen angezeigt wird, unabhängig davon, ob Sie sie im Navigationsbereich öffnen oder in einem Unterformular-/Unterberichtssteuerelement anzeigen. Da das Ändern der Ansichtseinstellungen für eine Tabelle manchmal zu Verwirrung führen kann, wenn die Tabelle aus dem Navigationsbereich heraus geöffnet wird, empfiehlt es sich, für dieses Verfahren eine Abfrage anstelle einer Tabelle zu verwenden.