Hallo,
Ik ben bezig met een bestand voor al mijn contacten. Ik heb het vrijwel helemaal klaar, ik zit alleen nog met de zoekfunctie. De situatie is als volgt:
Code 1:
Code 2:
Code 2 werkt helemaal goed. Maar de zoekcode (1) die krijg ik niet aan de praat. Wanneer ik dan ga zoeken, dan wordt er wel gefilterd, maar ik krijg alleen een witte regel, zonder de overeenkomende records erin.
Hoe krijg ik code 1 wel aan de praat?
Ik ben bezig met een bestand voor al mijn contacten. Ik heb het vrijwel helemaal klaar, ik zit alleen nog met de zoekfunctie. De situatie is als volgt:
- Ik heb een formulier genaamd Contacten_lijst.
- Daarin heb ik een veld waarin ik een zoekterm kan kiezen, genaamd ZoekForm
- Naast ZoekForm heb ik een knop genaamd cmdZoeken waarmee ik een [gebeurtenisprocedure] aanzet, die zorgt voor het zoeken. Dit met behulp van filters (zie code 1). Het is de bedoeling dat er in meerdere kolommen tegelijk gezocht kan worden, via één zoekvak.
- Daarnaast staat nog een knop, die alle filters weer weghaalt, genaamd cmdAllesWeergeven (zie code 2).
Code 1:
Code:
Private Sub cmdZoeken_Click()
On Error GoTo cmdZoeken_Err
If (Eval("[Forms]![Contacten_lijst]![ZoekForm] Is Null")) Then
' Clear Filter when search box empty
DoCmd.RunCommand acCmdRemoveFilterSort
DoCmd.SetProperty "cmdAllesWeergeven", acPropertyEnabled, "0"
End
End If
' Handle "'s in search
TempVars.Add "strSearch", Replace([Forms]![Contacten_lijst]![ZoekForm], """", """""")
' Build the Filter
TempVars.Add "strFilter", "([Voornaam] Like "" * " & [TempVars]![strSearch] & " * "" )"
TempVars.Add "strFilter", TempVars!strFilter & " OR ([Achternaam] Like "" * " & [TempVars]![strSearch] & " * "" )"
TempVars.Add "strFilter", TempVars!strFilter & " OR ([Bedrijfsnaam] Like "" * " & [TempVars]![strSearch] & " * "" )"
DoCmd.ApplyFilter "", TempVars!strFilter, ""
TempVars.Remove "strFilter"
TempVars.Remove "strSearch"
DoCmd.SetProperty "cmdAllesWeergeven", acPropertyEnabled, "1"
cmdZoeken_Exit:
Exit Sub
cmdZoeken_Err:
MsgBox Error$
Resume cmdZoeken_Exit
End Sub
Code 2:
Code:
Private Sub cmdAllesWeergeven_Click()
On Error GoTo Algemeen_filters_uit_Err
On Error Resume Next
DoCmd.RunCommand acCmdRemoveAllFilters
Me.OrderBy = "ID"
Me.OrderByOn = True
Me!ZoekForm = ""
Algemeen_filters_uit_Exit:
Exit Sub
Algemeen_filters_uit_Err:
MsgBox Error$
Resume Algemeen_filters_uit_Exit
End Sub
Code 2 werkt helemaal goed. Maar de zoekcode (1) die krijg ik niet aan de praat. Wanneer ik dan ga zoeken, dan wordt er wel gefilterd, maar ik krijg alleen een witte regel, zonder de overeenkomende records erin.
Hoe krijg ik code 1 wel aan de praat?