Tach ProfiLeutz,
folgendes Scenario:
Ich habe im einem Formular (frm_BerichtsGenerator) drei ListBoxen:
lst_Standort,
lst_Kategoieen (Mehrfachauswahl) und
lst_Zustand (Mehrfachauswahl)
mit d.Datenherkunft und GROUP BY von/im eine Abfrage (qry_BerichtsGenerator) mit mehreren Tabellen.
Screenshot 1 (https://1drv.ms/i/c/18fd78b551081696/IQAAMswJk5OmRJmevzxqboQlARRQFsKC8yL-XgKAVtZ5tqQ?e=4IytAB)
Jetzt, bei einem Klick auf dem "Bericht generieren" -Button, wird via:
Private Sub btn_Generieren_Click()
Dim strFilter As String
Dim varItem As Variant
Dim strKategorie As String
Dim strZustand As String
' ===== Standort (Einzelauswahl) =====
If Not IsNull(Me.lst_Standort) Then
strFilter = "[Standort] = '" & Me.lst_Standort & "'"
End If
' ===== Kategorie (Mehrfachauswahl) =====
If Me.lst_Kategorie.ItemsSelected.Count > 0 Then
For Each varItem In Me.lst_Kategorie.ItemsSelected
strKategorie = strKategorie & "'" & Me.lst_Kategorie.ItemData(varItem) & "',"
Next varItem
strKategorie = Left(strKategorie, Len(strKategorie) - 1)
If strFilter <> "" Then strFilter = strFilter & " AND "
strFilter = strFilter & "[Kategorie] IN (" & strKategorie & ")"
End If
' ===== Zustand (Mehrfachauswahl) =====
If Me.lst_Zustand.ItemsSelected.Count > 0 Then
For Each varItem In Me.lst_Zustand.ItemsSelected
strZustand = strZustand & "'" & Me.lst_Zustand.ItemData(varItem) & "',"
Next varItem
strZustand = Left(strZustand, Len(strZustand) - 1)
If strFilter <> "" Then strFilter = strFilter & " AND "
strFilter = strFilter & "[Zustand] IN (" & strZustand & ")"
End If
' ===== Bericht öffnen =====
If strFilter = "" Then
DoCmd.OpenReport "rpt_Auswertungs-Bericht", acViewPreview
Else
DoCmd.OpenReport "rpt_Auswertungs-Bericht", acViewPreview, , strFilter
End If
End Sub
...zwar eine "Berichts-Vorlage" (rpt_Auswertungs-Bericht) fehlerfrei geöffnet,
je doch ohne Daten.
Screenshot 2 (https://1drv.ms/i/c/18fd78b551081696/IQCPuvwj9cS3R5eBbIKglNgrAXGl6y2KrgpfGt-Qqq_uPpw?e=qM2e69)
Habt Ihr eine Idee, was ich dabei falsch machen könnte oder
noch dafür "veranstalten" muss?
Für eure Antworten bedanke mich im Voraus und mit LG *.crow
EDIT: wenn ich keinem Auswahl treffe, bzw. Auswahl Zurücksetze und auf Generieren klicke,
sodann wird das Bericht mit allen Datensätzen von der verbundene Abfrage dargestellt.
Ich würde mal sagen, da wird deine Where-Bedingung falsch sein, ein "Filter" ist das ja nicht. Überprüfe die Bedingung in dem du an geeigneter Stelle eine Breakpoint setzt oder dir den Inhalt von strFilter im Dirktfenster per Debug.Print ausgeben lässt.
Hat sich eigentlich dein anderer Thread erledigt? Du hast keine Rückmeldung gegeben. >:(
Zitat von: WhiteCrow am Mai 19, 2026, 13:48:55Habt Ihr eine Idee, was ich dabei falsch machen könnte
Für sich genommen sieht dein Code plausibel und korrekt aus.
Allerdings geht aus deinem Posting nicht hervor, welche Datentypen die relevanten Spalten (Standort, Kategorie, Zustand) haben. Dein Code ist für Text-Spalten ausgelegt, was eher unüblich wäre. Sinnvollerweise speichert man numerische Fremdschlüssel. Dann würden die Begrenzer (') um deine Kriterienwerte entfallen.