Erstellen eines Formulars mit einem Unterformular (1:n-Formular)

Wenn Sie mit relationalen Daten arbeiten (wobei verknüpfte Daten in getrennten Tabellen gespeichert sind), müssen Daten häufig aus mehreren Tabellen oder Abfragen im selben Formular angezeigt werden. So kann es beispielsweise vorkommen, dass Sie Kundendaten zusammen mit Informationen zu Bestellungen des Kunden anzeigen möchten. Unterformulare stellen ein praktisches Tool zum Durchführen dieser Aufgabe dar, und Microsoft Office Access 2007 stellt viele Möglichkeiten zum schnellen Erstellen von Unterformularen bereit.

Was möchten Sie tun?


Informationen zu Unterformularen

Ein Unterformular ist ein in ein anderes Formular eingefügtes Formular. Das Primärformular wird als Hauptformular und das Formular innerhalb des Formulars als Unterformular bezeichnet. Eine Formular/Unterformular-Kombination wird gelegentlich auch als hierarchisches Formular oder als Kombination aus übergeordnetem und untergeordnetem Formular bezeichnet.

Unterformulare eignen sich vor allem zum Anzeigen von Daten aus Tabellen oder Abfragen mit einer 1:n-Beziehung (1:n-Beziehung: Eine Verbindung zwischen zwei Tabellen, bei der der Primärschlüsselwert jedes Datensatzes in der Mastertabelle mit dem Wert im entsprechenden Feld bzw. den entsprechenden Feldern von mehreren Datensätzen in der verknüpften Tabelle übereinstimmt.). Sie können z. B. ein Formular mit einem Unterformular erstellen, um Daten aus einer Tabelle Kategorien und einer Tabelle Artikel anzuzeigen. Die Daten in der Tabelle Kategorien befinden sich auf der 1-Seite und die Daten in der Tabelle Artikel auf der n-Seite der Beziehung. Jede Kategorie kann also einen oder mehrere Artikel enthalten.

Formular mit einem Unterformular

Legende 1 Das Hauptformular zeigt Daten von der 1-Seite der Beziehung an.
Legende 2 Das Unterformular zeigt Daten von der n-Seite der Beziehung an.

Das Hauptformular und das Unterformular dieses Formulartyps sind 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 Beverages-Kategorie (Getränke) anzeigt, zeigt das Unterformular nur Artikel aus der Beverages-Kategorie an. Wenn das Formular und das Hauptformular nicht miteinander verknüpft sind, werden im Unterformular alle Produkte angezeigt, nicht nur die in der Beverages-Kategorie.

In der folgenden Tabelle sind einige im Zusammenhang mit Unterformularen verwendete Begriffe definiert. Access verarbeitet die meisten Details, wenn Sie die Vorgänge in diesem Artikel durchführen. Dennoch ist es hilfreich zu wissen, was im Hintergrund geschieht, für den Fall, dass Sie zu einem späteren Zeitpunkt Änderungen vornehmen müssen.

Begriff Definition
Unterformularsteuerelement Das Steuerelement, mit dem ein Formular in einem Formular eingebettet wird. Sie können sich das Unterformularsteuerelement als Ansicht eines anderen Objekts in der Datenbank vorstellen, gleichgültig, ob es sich um ein Formular, eine Tabelle oder eine Abfrage handelt. Das Unterformularsteuerelement 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 Unterformularsteuerelements, das bestimmt, welches Objekt im Steuerelement angezeigt wird.
Datenblatt Eine einfache Anzeige von Daten in Zeilen und Spalten, ähnlich einem Tabellenblatt. Das Unterformularsteuerelement zeigt ein Datenblatt an, wenn das zugehörige Quellobjekt eine Tabelle oder Abfrage ist, oder wenn die zugehörige Datenquelle ein Formular ist, für dessen Standardansicht-Eigenschaft Datenblatt festgelegt ist. In diesen Situationen wird das Unterformular gelegentlich nicht als Unterformular, sondern als Datenblatt bezeichnet.
Verknüpfen von-Eigenschaft Die Eigenschaft des Unterformularsteuerelements, die angibt, mit welchem Feld oder mit welchen Feldern im Unterformular das Unterformular mit dem Hauptformular verknüpft wird.
Verknüpfen nach-Eigenschaft Die Eigenschaft des Unterformularsteuerelements, die angibt, mit welchem Feld oder mit welchen Feldern im Hauptformular das Hauptformular mit dem Unterformular verknüpft wird.

Am besten richten Sie zunächst alle Beziehungen ein. Auf diese Weise kann Access die Verknüpfungen zwischen Unter- und Hauptformularen automatisch erstellen. Um Beziehungen zwischen den Tabellen in der Datenbank anzuzeigen, hinzuzufügen oder zu ändern, klicken Sie auf der Registerkarte Erweiterte Tools in der Gruppe Analysieren auf Beziehungen. Weitere Informationen zum Erstellen von Beziehungen finden Sie, wenn Sie den Hyperlinks im Abschnitt Siehe auch folgen.

Wenn für ein Unterformularsteuerelement ein Formular als Quellobjekt verwendet wird, enthält es die Felder, die Sie in das Formular einfügen, und es kann als einzelnes Formular, als Endlosformular (Endlosformular: Ein Formular, das in der Formularansicht mehr als einen Datensatz auf dem Bildschirm anzeigt.) oder als Datenblatt angezeigt werden. Die Verwendung eines Formularobjekts als Quellobjekt für ein Unterformular hat den Vorteil, dass Sie dem Unterformular berechnete Felder, wie z. B. [Menge] * [Einzelpreis], hinzufügen können.

Sie können auch ein Datenblatt in ein Formular einfügen, indem Sie ein Unterformularsteuerelement erstellen, das als Quellobjekt eine Tabelle oder Abfrage verwendet. Ein Datenblatt lässt sich nicht so gut anpassen wie ein Unterformular. So können Sie beispielsweise einem Datenblatt kein berechnetes Feld hinzufügen. Sie können jedoch ein Unterformular erstellen, das auf einem Formular mit einem berechneten Feld basiert, und anschließend für die Standardansicht-Eigenschaft des Formulars Datenblatt festlegen. Dadurch entsteht ein datenblattähnliches Unterformular, das ein berechnetes Feld enthält.

Seitenanfang Seitenanfang

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.

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Formulare auf Weitere Formulare, und klicken Sie dann auf Formular-Assistent Schaltflächensymbol.Schaltflächensymbol

AnzeigenWenn der Assistent nicht gestartet wird

Dies kann vorkommen, weil Access im geschützten Modus (Sandkastenmodus) ausgeführt wird, Microsoft Jet 4.0 SP8 oder höher aber nicht auf dem Computer installiert ist. Jet 4.0 SP8 oder höher ist erforderlich, damit Access im geschützten Modus voll funktionsfähig ist.

Weitere Informationen zur Installation des Jet-Upgrades erhalten Sie unter Informationen zu Microsoft Jet 4.0 SP8 oder höher.

Weitere Informationen über den geschützten Modus (Sandkastenmodus) erhalten Sie unter Informationen über den geschützten Modus (Sandkastenmodus) des Microsoft Jet Ausdrucks-Editors.

  1. Wählen Sie auf der ersten Seite des Assistenten in der Dropdownliste Tabellen/Abfragen eine Tabelle oder Abfrage aus. Um für dieses Beispiel ein Kategorien-Formular zu erstellen, das für jede Kategorie in einem Unterformular Produkte anzeigt, klicken Sie auf Tabelle: Kategorien (die 1-Seite der 1:n-Beziehung).

 Hinweis   Es spielt keine Rolle, welche Tabelle oder Abfrage Sie zuerst auswählen.

  1. Doppelklicken Sie auf die Felder, die Sie aus dieser Tabelle oder Abfrage verwenden möchten.
  2. 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 für dieses Beispiel die Products-Tabelle (Produkte) aus (die n-Seite der 1:n-Beziehung).
  3. Doppelklicken Sie auf die Felder, die Sie aus dieser Tabelle oder Abfrage verwenden möchten.
  4. Vorausgesetzt, Sie haben die Beziehungen vor dem Aufrufen des Assistenten richtig festgelegt, und Sie klicken auf Weiter, fragt der Assistent Wie sollen Ihre Daten angezeigt werden?, d. h. nach welcher Tabelle oder Abfrage. Um für dieses Beispiel das Formular Kategorien zu erstellen, klicken Sie auf Nach Kategorien. Im Assistenten wird ein kleines Diagramm des Formulars angezeigt. Das Feld im unteren Teil des Formulars stellt das Unterformular dar.
  5. Wählen Sie unten auf der Seite des Assistenten die Option Formular mit Unterformular(en) aus, und klicken Sie anschließend auf Weiter.
  6. Klicken Sie auf der Seite Welches Layout soll Ihr Unterformular haben? des Assistenten auf Tabellarisch oder Datenblatt, je nach gewünschtem Layout für das Unterformular. Bei beiden Layouts werden die Daten des Unterformulars in Zeilen und Spalten angeordnet. Das tabellarische Layout kann aber besser angepasst werden. Zu einem tabellarischen Unterformular können Sie Farbe, Grafiken und andere Formatierungselemente hinzufügen, wohingegen ein Datenblatt kompakter ist und eher der Datenblattansicht einer Tabelle ähnelt. Klicken Sie auf Weiter, nachdem Sie die Auswahl vorgenommen haben.
  7. Wählen Sie auf der Seite Welches Format möchten Sie? des Assistenten eine Formatierung für das Formular aus. Wenn Sie auf der vorherigen Seite Tabellarisch ausgewählt haben, wird die gewünschte Formatierung auch auf das Unterformular angewendet. Klicken Sie auf Weiter, nachdem Sie die Auswahl vorgenommen haben.
  8. 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 auf dieser Seite außerdem an, ob Sie das Formular in der Formularansicht öffnen möchten, um Informationen anzeigen oder eingeben zu können, oder ob Sie es in der Entwurfsansicht öffnen möchten, um den Entwurf ändern zu können. Klicken Sie auf Fertig stellen, nachdem Sie die Auswahl vorgenommen haben.

In Access werden zwei Formulare erstellt: eines für das Hauptformular mit dem Unterformularsteuerelement und eines für das Unterformular selbst.

Seitenanfang Seitenanfang

Erstellen eines Unterformulars durch Ziehen eines Formulars in ein anderes

Verwenden Sie dieses Verfahren, wenn zwei Formulare vorhanden sind und Sie ein Formular als Unterformular im anderen Formular verwenden möchten.

  1. Öffnen Sie das Formular, das Sie als Hauptformular verwenden möchten, in der Entwurfsansicht.
  2. Wenn auf der Registerkarte Entwurf in der Gruppe Steuerelemente das Tool Steuerelement-Assistenten verwenden nicht aktiviert ist, klicken Sie darauf, um es zu aktivieren.

Schaltflächensymbol

  1. Ziehen Sie ein Formular aus dem Navigationsbereich in das Hauptformular.

Access fügt dem Hauptformular ein Unterformular hinzu und bindet das Steuerelement an das Formular, das Sie aus dem Navigationsbereich gezogen haben. Access versucht darüber hinaus auch das Unterformular basierend auf den in der Datenbank definierten Beziehungen mit dem Hauptformular zu verknüpfen. Wenn Access nicht feststellen kann, wie das Unterformular mit dem Hauptformular verknüpft werden soll, wurden die Eigenschaften Verknüpfen von und Verknüpfen nach des Unterformular-Steuerelements leer gelassen, und Sie müssen diese Eigenschaften manuell festlegen. Gehen Sie hierzu wie folgt vor:

  1. Klicken Sie mit der rechten Maustaste auf das Hauptformular im Navigationsbereich, und klicken Sie dann auf EntwurfsansichtSchaltflächensymbol.
  2. Klicken Sie einmal auf das Unterformularsteuerelement, um es auszuwählen.
  3. Wenn das Eigenschaftenblatt noch nicht angezeigt wird, drücken Sie F4, um es anzuzeigen.
  4. Klicken Sie auf der Registerkarte Daten des Eigenschaftenblatts auf die Schaltfläche Schaltflächensymbol neben dem Eigenschaftenfeld Verknüpfen von.

Das Dialogfeld Feldverknüpfungs-Assistent für Unterformulare wird angezeigt.

  1. 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. Wenn Sie nicht sicher sind, welche Felder Sie verwenden sollen, klicken Sie auf Vorschlagen, damit Access versucht, die verknüpfenden Felder zu ermitteln. Wenn Sie fertig sind, klicken Sie auf OK.

Wenn das Feld, das Sie zum Verknüpfen der Formulare verwenden möchten, nicht angezeigt wird, müssen Sie möglicherweise die Datensatzquelle des übergeordneten Formulars oder des untergeordneten Formulars bearbeiten, um sicherzustellen, dass das verknüpfende Feld darin enthalten ist. Wenn das Formular beispielsweise auf einer Abfrage basiert, müssen Sie sicherstellen, dass sich das verknüpfende Feld im Abfrageergebnis befindet.

  1. Speichern Sie das Hauptformular, und wechseln Sie zur Formularansicht. Prüfen Sie, ob das Formular wie erwartet funktioniert.

Öffnen eines Unterformulars in einem neuen Fenster in der Entwurfsansicht

Wenn Sie an einem Unterformular Entwurfsänderungen vornehmen möchten, während Sie am zugehörigen Hauptformular in der Entwurfsansicht arbeiten, können Sie das Unterformular in einem eigenen Fenster öffnen:

  1. Klicken Sie auf das Unterformular, um es auszuwählen.
  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Tools auf Unterformular in neuem Fenster Schaltflächensymbol.Schaltflächensymbol

Seitenanfang Seitenanfang

Erstellen eines Formulars mit zwei Unterformularen

Mit diesem Verfahren werden ein Formular und zwei Unterformulare mit den folgenden Merkmalen erstellt:

  • Das Hauptformular weist eine 1:n-Beziehung mit dem ersten Unterformular auf.
  • Das erste Unterformular weist eine 1:n-Beziehung mit dem zweiten Unterformular auf.
  • Das Hauptformular enthält beide Unterformularsteuerelemente.

Erstellen des Formulars

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Formulare auf Weitere Formulare, und klicken Sie dann auf Formular-Assistent Schaltflächensymbol.Schaltflächensymbol

AnzeigenWenn der Assistent nicht gestartet wird

Dies kann vorkommen, weil Access im geschützten Modus (Sandkastenmodus) ausgeführt wird, Microsoft Jet 4.0 SP8 oder höher aber nicht auf dem Computer installiert ist. Jet 4.0 SP8 oder höher ist erforderlich, damit Access im geschützten Modus voll funktionsfähig ist.

Weitere Informationen zur Installation des Jet-Upgrades erhalten Sie unter Informationen zu Microsoft Jet 4.0 SP8 oder höher.

Weitere Informationen über den geschützten Modus (Sandkastenmodus) erhalten Sie unter Informationen über den geschützten Modus (Sandkastenmodus) des Microsoft Jet Ausdrucks-Editors.

  1. Wählen Sie auf der ersten Seite des Assistenten in der Dropdownliste Tabellen/Abfragen die Tabelle oder Abfrage aus dem Hauptformular aus. Angenommen, Sie möchten ein Kunden-Formular mit den beiden Unterformularen Bestellungen und Bestelldetails erstellen. Wählen Sie in diesem Fall die Tabelle Customers (Kunden) aus (die 1-Seite der 1:n-Beziehung).

 Hinweis   Es spielt keine Rolle, welche Tabelle oder Abfrage Sie zuerst auswählen.

  1. Doppelklicken Sie auf die Felder, die Sie aus dieser Tabelle oder Abfrage verwenden möchten.
  2. Wählen Sie auf derselben Seite des Assistenten in der Dropdownliste Tabellen/Abfragen die Tabelle oder Abfrage aus dem ersten Unterformular aus. Klicken Sie für dieses Beispiel auf die Orders-Tabelle (Bestellungen) (die n-Seite der ersten 1:n-Beziehung), und doppelklicken Sie dann auf die Felder, sie Sie aus dieser Tabelle oder Abfrage einfügen möchten.
  3. Wählen Sie auf derselben Seite des Assistenten in der Dropdownliste Tabellen/Abfragen die Tabelle oder Abfrage aus dem zweiten Unterformular aus. Klicken Sie für dieses Beispiel auf die Order Details-Tabelle (Bestelldetails) (die n-Seite der zweiten 1:n-Beziehung), und doppelklicken Sie dann auf die Felder, sie Sie aus dieser Tabelle oder Abfrage einfügen möchten.
  4. Vorausgesetzt, Sie haben die Beziehungen vor dem Aufrufen des Assistenten richtig festgelegt, und Sie klicken auf Weiter, fragt der Assistent Wie sollen Ihre Daten angezeigt werden?, d. h. nach welcher Tabelle oder Abfrage. Um für dieses Beispiel das Kunden-Formular zu erstellen, klicken Sie auf Nach Kunden.
  5. Wählen Sie die Option Formular mit Unterformular(en) aus.
  6. Folgen Sie den Anweisungen auf den übrigen Seiten des Assistenten. Nachdem Sie auf Fertig stellen geklickt haben, erstellt Access ein Hauptformular mit zwei Unterformularsteuerelementen sowie zwei weitere Formularobjekte, eines für jedes Unterformular.

Seitenanfang Seitenanfang

Erstellen eines Formulars mit geschachtelten Unterformularen

Mit diesem Verfahren werden ein Formular und zwei Unterformulare mit den folgenden Merkmalen erstellt:

  • Das Hauptformular weist eine 1:n-Beziehung mit dem ersten Unterformular auf.
  • Das erste Unterformular weist eine 1:n-Beziehung mit dem zweiten Unterformular auf.
  • Das erste Unterformular enthält das zweite Unterformular.

 Hinweis   Mit diesem Verfahren werden zwei Arten von Unterformularen erstellt. Sie können die Schritte wiederholen, bis Sie sieben Ebenen von Unterformularen erstellt haben.

  1. Erstellen Sie ein Formular, das ein Unterformular enthält. Weitere Informationen finden Sie im Abschnitt Erstellen eines Formulars mit einem Unterformular unter Verwendung des Formular-Assistenten.
  2. Öffnen Sie das Hauptformular in der Entwurfsansicht.
  3. Klicken Sie auf das Unterformular, um es auszuwählen.
  4. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Tools auf Unterformular in neuem Fenster Schaltflächensymbol.Schaltflächensymbol

Access öffnet das Unterformular in einem neuen Fenster.

  1. Ziehen Sie ein Formular, eine Tabelle oder eine Abfrage aus dem Navigationsbereich in das Unterformular. Access erstellt im ersten Unterformular ein weiteres Unterformular sowie ein Formular für das Unterformular.

Access fügt dem Unterformular ein Unterformular-Steuerelement hinzu und bindet das Steuerelement an das Formular, das Sie aus dem Navigationsbereich gezogen haben. Access versucht darüber hinaus, basierend auf den in der Datenbank definierten Beziehungen, beide Unterformulare miteinander zu verknüpfen. Wenn Access nicht feststellen kann, wie die Unterformulare verknüpft werden sollen, wurden die Eigenschaften Verknüpfen von und Verknüpfen nach des Unterformular-Steuerelements leer gelassen, und Sie müssen diese Eigenschaften manuell festlegen. Gehen Sie hierzu wie folgt vor:

  1. Klicken Sie einmal auf das Unterformular, um es auszuwählen.
  2. Drücken Sie F4, um es anzuzeigen, wenn das Eigenschaftenblatt nicht bereits angezeigt wird.
  3. Klicken Sie auf der Registerkarte Daten des Eigenschaftenblatts auf die Schaltfläche Schaltflächensymbol neben dem Eigenschaftenfeld Verknüpfen von.

Das Dialogfeld Feldverknüpfungs-Assistent für Unterformulare wird angezeigt.

  1. 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. Wenn Sie nicht sicher sind, welche Felder Sie verwenden sollen, klicken Sie auf Vorschlagen, damit Access versucht, die verknüpfenden Felder zu ermitteln. Wenn Sie fertig sind, klicken Sie auf OK.

Wenn das Feld, das Sie zum Verknüpfen der Formulare verwenden möchten, nicht angezeigt wird, müssen Sie möglicherweise die Datensatzquelle des übergeordneten Formulars oder des untergeordneten Formulars bearbeiten, um sicherzustellen, dass das verknüpfende Feld darin enthalten ist. Wenn das Formular beispielsweise auf einer Abfrage basiert, müssen Sie sicherstellen, dass sich das verknüpfende Feld im Abfrageergebnis befindet.

  1. Speichern Sie das Formular, und wechseln Sie zur Formularansicht. Prüfen Sie, ob das Formular wie erwartet funktioniert.

Seitenanfang Seitenanfang

 
 
Zutreffend für:
Access 2007