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
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