Beitrag aus SmartTools Access Weekly
Bericht mit gefilterten Daten eines Unterformulars drucken
Access 365 2021 2019 2016 2013 2010
FRAGE In meiner Datenbank verwende ich in einem Formular ein Unterformular, dessen Datensätze vom Anwender gefiltert werden können. Die aktuelle Auswahl sollte auch gedruckt werden können. Dazu möchte nun mit einer Schaltfläche Bericht drucken im Hauptformular einen Bericht öffnen, der nur die gefilterten Daten aus dem Unterformular ausgibt. Ich schaffe es aber nicht, den Inhalt des Unterformulars korrekt zu referenzieren. Ist das also überhaupt möglich und wenn ja wie?
S. Rega
ANTWORT Dazu nutzen Sie folgende Anweisungen in der Ereignisprozedur "Beim Klicken" der Schaltfläche:
Private Sub btnDrucken_Click()
Dim strFilter As String
strFilter = Me.UF_Name.Form.Filter
DoCmd.OpenReport "Berichtsname", _
acViewPreview, , _
strFilter
End Sub
"UF_Name" ersetzen Sie durch den Namen des Unterformular-Steuerelementes, das Ihr Unterformular bereitstellt und "Berichtsname" durch den Namen des Berichtes, der geöffnet werden soll. Die Anweisungen lesen den aktuell gesetzten Filter des Unterformulars aus und übergeben diesen Filter als Parameter bei "DoCmd.OpenReport", so dass der Bericht nur die Datensätze gemäß dieses Filters ausgibt. Sind keine Datensätze gefiltert, ergibt sich ein "leerer" Filter, der jedoch ignoriert wird und so zur Ausgabe aller aktuell angezeigten Datensätze des Unterformulars führt.