Home > Artikel > Ausgabe 11/2015 > Bericht als Unterformular

Bericht als Unterformular

Achtung: Sie sind nicht angemeldet. Wenn Sie Abonnent sind und sich anmelden, lesen Sie den kompletten Artikel, laden das PDF herunter oder probieren die Beispieldatenbank aus (sofern vorhanden).

Seit Access 2010 können Sie Berichte als Unterformular in einem Hauptformular anzeigen. Dabei lässt sich dieser zur Laufzeit beispielsweise filtern. In diesem Artikel zeigen wir, wie Sie einen Adressbericht als Unterformular in ein Formular einbinden und die angezeigten Adressen über Schaltflächen im Hauptformular filtern können.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1511_BerichtAlsUnterformular.accdb.

Beispieldaten

Die Beispieldaten entsprechen denen des Artikels Mehrspaltiger gruppierter Bericht. Diesem entnehmen wir auch den hier als Unterformular verwendeten Bericht rptKommunikationsdatenMehrspaltigIcons.

Filterformular

Das fertige Formular samt Unterbericht soll wie in Bild 1 aussehen. Hier sehen Sie bereits die Schaltflächen mit den Buchstaben von A bis Z, mit denen die Daten des Berichts nach dem jeweiligen Anfangsbuchstaben des Nachnamens gefiltert werden sollen. Ein Klick auf die Schaltfläche Alle anzeigen soll schließlich den Filter wieder aufheben.

Herkunftsdaten für den Bericht

Bild 1: Herkunftsdaten für den Bericht

Entwurf des Formulars

Das Formular sieht in der Entwurfsansicht wie in Bild 2 aus. Die Schaltflächen der obersten Reihe sind durchgehend mit cmdA, cmdB, cmdC und so weiter benannt. Die Schaltfläche darunter heißt cmdAlle. Den Unterbericht ziehen Sie einfach wie beim Hinzufügen eines Unterformulars aus dem Navigationsbereich in den Entwurf des Formulars.

Entwurf des Formulars samt Unterbericht

Bild 2: Entwurf des Formulars samt Unterbericht

Da das Hauptformular selbst keine Daten anzeigen soll, stellen Sie die Eigenschaften Datenblattmarkierer, Navigationsschaltflächen, Bildlaufleisten und Trennlinien auf Nein ein sowie Automatisch zentrieren auf Ja.

Code des Hauptformulars

Das Hauptformular enthält einige Ereignisprozeduren, die vollständig durch die Beim Klicken-Ereignisse der verschiedenen Schaltflächen ausgelöst werden. Den Code finden Sie in Listing 1.

Private Sub FilternNach(strVergleichswert As String)

     If Not Nz(DLookup("KundeID", "qryKommunikationsdaten", "Nachname LIKE '" & strVergleichswert & "*'"), 0) = 0 Then

         Me!rptKommunikationsdatenMehrspaltigIcons.Visible = True

         With Me!rptKommunikationsdatenMehrspaltigIcons.Report

             .Filter = "Nachname LIKE '" & strVergleichswert & "*'"

             On Error Resume Next

             .FilterOn = True

             On Error GoTo 0

         End With

     Else

         Me!rptKommunikationsdatenMehrspaltigIcons.Visible = False

Sie haben das Ende des frei verfügbaren Teil dieses Artikels erreicht!

Wenn Sie mehr lesen und auf viele weitere Artikel zugreifen möchten, melden Sie sich als Abonnent unter Login an. Falls nicht, bestellen Sie doch einfach ein Jahresabonnement!