Microsoft Access
Datenaustausch zwischen Berichten und Formularen
Filter verwenden
Besser sind daher Filter: Die einem Bericht oder Formular zugrunde liegende Abfrage oder Tabelle liefert zunächst einmal die maximale Anzahl Daten. Per Filterausdruck beim Aufruf des Berichtes oder Formulars können Sie die Datensätze dann auf eine bestimmte Auswahl begrenzen.
Access bietet dazu zwei Möglichkeiten: Zum einen können Sie einen Filter erstellen und dem Bericht über die Filter-Eigenschaft zuweisen. Oder Sie übergeben einfach per VBA einen Ausdruck, wie er als WHERE-Klausel in einer SQL-SELECT-Anweisung verwendet wird, um das Abfrageergebnis einzuschränken. Um einen Bericht aufrufen und nur die Datensätze darzustellen, die im Feld TypKuerzel der Abfrage den Wert "RE" stehen haben, öffnen Sie den Bericht mit der Methode OpenReport
des Objekts DoCmd
und übergeben als vierten Parameter den Filter-Ausdruck:
Private Sub bttFilter_Click()
Dim stDocName As String
stDocName = "berAuftragsListe2"
DoCmd.OpenReport stDocName, acPreview, , "TypKuerzel=""RE"""
End Sub
Wichtig ist dabei natürlich, dass Sie im Filterausdruck vorkommende Anführungszeichen verdoppeln müssen, damit Access diese nicht als Ende der Filter-Zeichenkette erkennt. Wenn Sie mit diesem Code beispielsweise in einem Formular den Bericht öffnen, werden dort nur noch Rechnungen statt alle Aufträge angezeigt.