Flexible Unterberichte richtig verwenden

Eine Tabelle in Ihrer Access-Datenbank hat mehrere 1:n-Beziehungen zu anderen Tabellen. Nun möchten Sie in einem Bericht alle Datensätze der Tabelle zusammen mit den damit in Beziehung stehenden Datensätzen ausgeben.

Die Lösung lässt sich am besten mit einem Beispiel verdeutlichen: Produzieren Sie eine Datenbank mit den drei Tabellen »Person«, »Bewerbung« und »Praktikum«. Diese Tabellen sind über das Feld »PK_Person« aus »Person« miteinander verknüpft, wobei die korrespondierenden Felder jeweils »FK_Person« heißen. Dabei ordnet Access einem Datensatz aus »Person« wahlweise keinen, einen oder mehrere Datensätzen aus den anderen Tabellen zu. Nun möchten Sie in einem Bericht alle erfassten Personen mit ihren Bewerbungen und Praktika ausdrucken. Diese Anforderung erfüllen Sie mit Hilfe von Unterberichten oder Unterformularen.


Erzeugen Sie zuerst auf Grundlage der Tabelle »Person« den Bericht »rptPerson« und öffnen Sie diesen in der Entwurfsansicht. Nur das Feld »PK_Person« muss zwingend zur Datenbasis des Berichts gehören, ansonsten haben Sie dabei alle Freiheiten.


Jetzt fügen Sie die beiden Unterberichte für die Tabellen »Bewerbung« und »Praktikum« ein. Aktivieren Sie dazu in der »Toolbox« das Werkzeug »Unterformular/-bericht« und klicken Sie auf die Stelle, an der Sie den ersten Unterbericht zum Beispiel für die Tabelle »Praktikum« platzieren möchten. Es öffnet sich der Unterberichts-Assistent. Auf der ersten Seite des Assistenten wählen Sie die Option »Bereits vorhandene Tabellen und Abfragen verwenden«, da bisher kein verwendbarer Bericht existiert.


Auf der nächsten Seite suchen Sie im Kombinationsfeld »Tabellen/Abfragen« die Tabelle oder Abfrage aus, die Access dem Unterbericht zu Grunde legen soll. In diesem Beispiel ist das der Eintrag »Tabelle: Praktikum«. Außerdem müssen Sie im unteren Bereich der Seite angeben, welche Felder der Tabelle erscheinen sollen. Achten Sie darauf, dass Sie auch das Feld »FK_Person« auswählen, über das die gewählte Tabelle »Praktikum« mit der Tabelle »Person« verbunden ist.


Auf der dritten Seite müssen Sie den neuen Unterbericht mit »rptPerson« verknüpfen. Aktivieren Sie hierzu die Option »Eigene definieren« und wählen Sie in den Kombinationsfeldern unter »Formular-/Berichtsfelder« bzw. »Unterformular-/Unterberichtsfelder« die Einträge »PK_Person« beziehungsweise »FK_Person«. Geben Sie dem Unterbericht auf der vierten Seite einen Namen und erzeugen Sie ihn anschließend mit der Schaltfläche »Fertig stellen«.


Im Bericht »rptPerson« finden Sie nun ein neues Steuerelement, das den soeben erzeugten Unterbericht repräsentiert. Klicken Sie mit der rechten Maustaste auf dieses Element und rufen Sie den Kontextbefehl »Eigenschaften« auf. Wählen Sie für die Eigenschaften »Vergrößerbar« und »Verkleinerbar« jeweils den Wert »Ja«. Diese Einstellung veranlasst Access, die Höhe des Unterberichtes automatisch so anzupassen, dass die Anwendung alle im Steuerelement enthaltenen Daten darstellen kann. Alle in Beziehung stehenden Datensätze aus »Praktikum« werden so aufgelistet, dass im fertigen Bericht kein unerwünschter Leerraum bleibt.


Auf die gleiche Art und Weise können Sie nun auch weitere Unterberichte zum Beispiel für die Tabelle »Bewerbung« produzieren.