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.

Nur Rechnungen: Der Filter wirkt und beschränkt die Ausgabe auf Rechnungen.
Nur Rechnungen: Der Filter wirkt und beschränkt die Ausgabe auf Rechnungen.