Ik had (uiteraard) geen zin om je hele database na te bouwen, dus ik heb je code zo goed en zo kwaad als het kon verwerkt in een eigen rapportje/formulier. Dan kom ik hier op uit:
Code:
Dim strRapport As String, strFilter As String
Dim lngView As Long
Dim rpt As Report
strRapport = "rVragen"
lngView = acViewPreview 'Gebruik acViewNormal als je gelijk wilt afdrukken.
'Filter opbouwen met één of meerdere comboBoxen.
If Not IsNull(Me.cboCategorie) Then
strFilter = "[Antw A-B-C-D]= """ & Me.cboCategorie.Value & """"
End If
If Not IsNull(Me.cboRelatie.Value) Then
If Not strFilter = vbNullString Then strFilter = strFilter & " AND "
strFilter = strFilter & "Deel= " & Me.cboRelatie.Value
End If
If Not IsNull(Me.cboJaar.Value) Then
If Not strFilter = vbNullString Then strFilter = strFilter & " AND "
strFilter = strFilter & "Hoofdstuk= " & Me.cboJaar.Value
End If
If CurrentProject.AllReports(strRapport).IsLoaded Then
Reports(strRapport).Filter = strFilter
Reports(strRapport).FilterOn = True
Else
DoCmd.OpenReport strRapport, lngView, , strFilter
End If
Zoeken via een rapport kán dus wel, maar niet
op het rapport. Een rapport is een
weergave van een (al dan niet gefilterde) recordset. Dat filteren doe je bij voorkeur op een formulier. Je zegt dat het je niet lukt om te zoeken in een query of een tabel. Dat verbaast me zeer, want in een tabel of query kun je gewoon filteren in de Gegevensweergave. Klik maar eens rechts in een veld waarop je wilt filteren. Genoeg opties

. Of ik dat doe? Nooit. Altijd via een formulier. Ik zeg wel 'nooit', maar het komt wel eens voor als ik met datamutaties o.i.d. bezig ben tussen gerelateerde data, dan wil ik ook wel eens een hoofdtabel filteren op één record, en dan in de gekoppelde tabel filteren op dezelfde waarde. Maar meestal dus niet. Bijna nooit dus

. Zelfde geldt voor queries, al zet ik daar het filter meestal in het Query ontwerp. Dan is het filter dus vaak een
vast onderdeel van die query. Bijvoorbeeld alle actieve medewerkers. Maar voor queries geldt dus hetzelfde: rechtsklikken op een veld, en filteren maar.
Ik sluit een rapport, als dat eenmaal geopend is, niet af als ik verschillende filteringen wil zien. Is ook nergens voor nodig, zoals je ziet. Meestal filter ik trouwens op een (doorlopend) formulier, ook weer zelden op een rapport

. Maar alles mag natuurlijk.
Waarom staat deze vraag overigens niet in het Access forum? Daar smachten we naar dit soort vragen :d.