Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

OpenReport Methode





Frage

HuHu, Folgendes Problem: Ich öffne mit VBA einen Bericht und gebe gleichzeit einen Filter(Where Klausel) an! Code: Dim stDocName As String stDocName = "MQ_Team" DoCmd.OpenReport stDocName, acPreview, , getFilter() So auf die getFilter() Funktion will ich jetzt nicht genauer eingehen! Aber hier ist der Code: Code: Public Function getFilter() As String Dim Filter As String If IsNull(Me.cbo_Stichtag) = False Then Filter = Filter & "[AsOfDate_ID] = " & Me.cbo_Stichtag & " AND " End If If IsNull(Me.cbo_Teamgruppe) = False Then Filter = Filter & "[Teamgruppe_ID] = " & Me.cbo_Teamgruppe & " AND " End If If Filter <> "" Then Filter = Left(Filter, Len(Filter) - 5) End If getFilter = Filter End Function Meine Frage ist eigentlich nur wie das abläuft dann bei der OpenReport Methode! Also wird die Where Klausel dann automatisch dem SQL in der Abfrage des Berichtes angehängt? oder muss ich da noch was in der Abfrage vorher ändern? Mit freundlichen Grüssen, Christian P.

Antwort 1 von DatenKay

Hi Christian,

Das Linkkriterium entspricht einer WhereClause. Du brauchst an Deiner Abfrage nichts zu ändern.
Tip:
Frage in Deiner Funktion zusätzlich zum "Null"-Inhalt auch noch eine "Leere Zeichenfolge" ab. Das vermeidet, dass wenn in Deinen Eingabefeldern ein bereits bestehender Eintrag von Hand entfernt wird, der Bericht trotzdem geöffnet wird, weil das/die Felde(r) ja nicht "Null" sind sondern eine "leere Zeichenfolge" enthalten:

If Not Isnull(Me.cbo_Stichtag) or Me.cbo_Stichtag <> "" then...

Gruß,
DatenKay