zoeken/filteren op meerdere velden

Status
Niet open voor verdere reacties.

mikevd

Gebruiker
Lid geworden
11 jul 2004
Berichten
7
Hallo,

ik zit met de volgende situatie.

Ik heb een access formulier dat in connectie staat met een database. Nu heb ik een zoekfunctie ingebouwd waarop mensen kunnen zoeken op gebruikersnaam en achternaam tegelijk. Tenminste, dat is het idee. Ik heb alleen een probleem met het filteren, ik weet niet hoe je alles tegelijk filtert.

Mijn code:

Option Compare Database

Private Sub knopZoek_Click()

If IsNull(veldGebruikersnaam & veldAchternaam) Then

MsgBox ("Er is geen zoekveld ingevuld"), vbOKOnly + vbExclamation, "Geen zoekveld ingevuld"

Else
If Not IsNull(veldGebruikersnaam) Then
Me.Filter = "gebruikersnaam = '" & veldGebruikersnaam & "'"
Me.FilterOn = True
veldGebruikersnaam.SetFocus
knopZoek.Enabled = False
knopReset.Enabled = True
End If

If Not IsNull(veldAchternaam) Then
Me.Filter = "achternaam = '" & veldAchternaam & "'"
Me.FilterOn = True
veldAchternaam.SetFocus
knopZoek.Enabled = False
knopReset.Enabled = True
End If

If Not IsNull(veldGebruikersnaam & veldAchternaam) Then
Me.Filter = "achternaam = '" & veldAchternaam & "'"
Me.Filter = "gebruikersnaam = '" & veldGebruikersnaam & "'"
FilterOn = True
knopZoek.Enabled = False
knopReset.Enabled = True

End If

End If

End Sub


Het gaat om het laatste IF blokje, dat wordt niet goed uitgevoerd, aangezien er logischerwijs op gebruikersnaam wordt gefilterd.

Als iemand het antwoord weet, alvast bedankt.
M.
 
Uiteraard, sorry, ik was even druk bezig, en vind het vreemd dat niemand hier de oplossing wist, maar geeft niks.

Mijn bedoeling was dus om op gebruikersnaam en achternaam tegelijk te zoeken. Dit heb ik met deze code opgelost: (zie vooral de vetgedrukte stukjes, die doen er het meeste toe)



Private Sub knopZoek_Click()

If IsNull(Me.veldGebruikersnaam) And IsNull(Me.veldAchternaam) Then
MsgBox "Vul gebruikersnaam en/of achternaam in.", vbExclamation + vbOKOnly, "Vul een veld in!"
Me.FilterOn = False

ElseIf IsNull(Me.veldGebruikersnaam) Then
Me.Filter = "achternaam = '" & Me.veldAchternaam & "'"
Me.FilterOn = True
veldGebruikersnaam.SetFocus
knopZoek.Enabled = False
knopReset.Enabled = True
ElseIf IsNull(Me.veldAchternaam) Then
Me.Filter = "gebruikersnaam = '" & Me.veldGebruikersnaam & "'"
Me.FilterOn = True
veldAchternaam.SetFocus
knopZoek.Enabled = False
knopReset.Enabled = True
Else
Me.Filter = "gebruikersnaam LIKE '" & Me.veldGebruikersnaam & _
"' And achternaam = '" & Me.veldAchternaam & "'"
Me.FilterOn = True
veldAchternaam.SetFocus
knopZoek.Enabled = False
knopReset.Enabled = True
End If

End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan