Wenn Sie einen formularbasierten Filter aufrufen, wird das SQL-Kriterium des Filters in der Formular-Eigenschaft Filter gespeichert.
Mit der Formular-Eigenschaft FilterOn können Sie außerdem feststellen, ob der Filter gerade aktiv ist oder nicht. Diese beiden Eigenschaften sind beim Öffnen eines Berichts sehr hilfreich. Für Ihre Schaltfläche, die den Bericht öffnet, verwenden Sie folgenden VBA-Code:
Private Sub Bericht_Click()
' Beim Klicken der Schaltfläche
Dim BerichtFilter As Variant
If Me.FilterOn Then
'Filter ist aktiv, also wir wollen ihn für den
Bericht verwenden
BerichtFilter = Me.Filter
Else
'Kein Filter aktiv, also alle Datensätze im Bericht anzeigen
BerichtFilter = Null
End If
End Sub
Der Filter wird also als String-Parameter an die Methode OpenReport übergeben, um die Datensätze ggfs. einzuschränken.