Berichte von formularbasiertem Filter (Access 97)

30.12.2003

Frage:

Über ein Formular soll ein formularbasierter Filter aufgerufen werden. Man trifft bequem seine Auswahl und aktiviert den Filter. Soweit funktioniert alles bestens. Dann möchte ich nur die gefilterten Daten in einem Bericht ausdrucken. Es gibt auch eine Abfrage, welche gleichermaßen die Felder für das Formular, sowie für den Bericht zur Verfügung stellt. Das heißt, die Datenauswahl ist für Formular und Bericht dieselbe. Lediglich ist im Bericht der Filter nicht mehr aktiv. Ich habe einen Schalter auf dem Formular installiert, welcher sofort den Bericht aufruft. Jedoch bringe ich diese beiden Komponenten nicht zusammen.

Antwort:

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.

Dienstleistungen

Als starker Partner an Ihrer Seite unterstützen wir Sie in folgenden Breichen:

Access-Programmierung

Benötigen Sie Unterstützung bei der Programmierung von Access-Anwendungen? Wir bieten die gesamte Bandbreite von der Access-Programmierung auf Stundenbasis bis zur Durchführung eines Software-Projektes als Auftragsarbeit an. Kontaktieren Sie uns für ein kostenloses Erstgespräch.

Software-Beratung

Haben Sie ein Software-Projekt und Sie wissen nicht, ob Access die richtige Plattform ist? Wir haben über 20 Jahre Erfahrung beim Erstellen von Windows-, Web und mobilen Anwendungen. Kontaktieren Sie uns für eine kostenlose Erstberatung.