Zoeken van records

Status
Niet open voor verdere reacties.

Palmpje60

Gebruiker
Lid geworden
4 mei 2009
Berichten
103
Geacht forum,

Mijn vraag, ik heb een routine gemaakt in Access 2003 om records te zoeken, nu werkt het wel, maar alleen niet tot mijn tevredenheid, mijn regel code ziet er zo uit:

With rsClone
.FindFirst "[Pas] like ""*" & Me.txtZoekveld & "*"""

maar nu is mijn vraag kan betreffende regel, dus findfirst uitgebreid worden om ook op lockernummers te zoeken?

De velden Pas is een tekst veld en het veld Locker is een nummeriek veld.

Alvast bedankt voor de moeite en tijd.

P.S. ik ben geen exper, ik knutsel ook maar wat.

Groet Palmpje60
 
Probeer deze eens:

.FindFirst "[Pas] like "'*" & Me.txtZoekveld & "*'" AND [Locker] Like " & Me.Locker
 
Hallo OctaFish,

Ik heb je voorbeeld toegepast, maar ik krijg de melding: De expressie bevat syntaxisfout (Operator ontbreekt).

Mijn volledige code ziet er zo uit:

Private Sub txtZoekveld_AfterUpdate()

Dim rsClone As Recordset

Set rsClone = Me.RecordsetClone

'Me.txtZoekveld = ""

With rsClone

'Op Pas zoeken.
'.FindFirst "[pas] like ""*" & Me.txtZoekveld & "*"""

.FindFirst "[Pas] like " '*" & Me.txtZoekveld & "*'" And [Locker] Like & Me.Locker

If .NoMatch Then

MsgBox "Gezochte item is niet gevonden!", vbInformation, " "
'Me.txtZoekveld = ""
Pas.SetFocus

Else

Me.Bookmark = .Bookmark
Pas.SetFocus
'Me.txtZoekveld = ""

End If


Onderstaande deel had ik zelf toegepast, omdat ik niet wist hoe het in 1 regel code te krijgen.
Onderstaande werkt wel, alleen als ik op een bestaande pas zocht, kreeg ik de melding dat het gezochte locker niet was
gevonden, en dat mag natuurlijk niet omdat ik daar niet op zocht.
'Op Locker zoeken.
'.FindFirst "[Locker] like ""*" & Me.txtZoekveld & "*"""

'If .NoMatch Then

' MsgBox "Gezochte locker is niet gevonden!", vbInformation, " "
'Me.txtZoekveld = ""
' Pas.SetFocus

'Else

' Me.Bookmark = .Bookmark
' Pas.SetFocus
' Me.txtZoekveld = ""

'End If

Me.txtZoekveld = ""
Pas.SetFocus

End With

Set rsClone = Nothing

End Sub

Oja, dat was ik nog vergeten te melden, in mijn tabel is het veld Pas een tekstveld en het veld Locker in een nummeriekveld, ik weet niet of dat nog van invloed is, maar wou het toch even melden.

Alvast bedankt dat je er misschien toch nog naar wil kijken.

Groet Palmpje60
 
Laatst bewerkt:
Terwijl ik er naar kijk kun je alvast je post in de juiste opmaak zetten ;)
Eén van de forumregels is, dat je programmacode altijd opmaakt met de CODE tag. (zie je knopjes...)
 
Het zou zo toch moeten werken:

Code:
Set rsClone = Me.RecordsetClone
With rsClone
    sFilter = "[Pas] Like '*" & Me.txtZoekveld & "*' AND [Locker] Like '*" & Me.Locker & "*'"
    .FindFirst sFilter
    If .NoMatch Then
        MsgBox "Gezochte item is niet gevonden!", vbInformation, " "
    Else
        Me.Bookmark = .Bookmark
    End If
End With
Set rsClone = Nothing

Overigens kun je er net zo goed een filter van maken; dan zie je alleen de records die aan de zoekopdracht voldoen, i.p.v. het eerste record dat voldoet.

Code:
sFilter = "[Pas] Like '*" & Me.txtZoekveld & "*' AND [Locker] Like '*" & Me.Locker & "*'"
Me.Filter = sFilter
Me.FilterOn = True
 
Hallo OctaFish,

Mijn excuus dat ik het niet in de juiste opmaak heb geplaatst, sorry hiervoor.

Maar ik ga het nog eens proberen.

Groet Palmpje60
 
Hallo OctaFish,

Ik heb nog even geen tijd gehad om het te testen, maar ik ga nu op vakantie en neem mijn laptop mee en dan heb ik wel even tijd om het te proberen, kom ik er niet uit dan meld ik mij weer even.

Tot zover wil ik je alvast bedanken voor het meedenken, en de eventuele oplossing.

Groet Palmje60
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan