Zoekformulier optimaliseren

Status
Niet open voor verdere reacties.

tom1vdb

Gebruiker
Lid geworden
16 jan 2016
Berichten
9
Beste forumleden,

Ik ben al een tijdje bezig met een database op te zetten, maar zit nu met een probleem in mijn zoekformulier.
Wat ik reeds heb:
• Ik kan producten opzoeken met de textbox (zonder filter van de comboboxen)
• Ik kan filteren met de 2 comboboxen (zonder filter van textbox)

Dus: als ik eerst met textbox zoek en daarna met combo, neemt hij enkel resultaten van de combo …

Wat ik wil: Combinatie van filter textbox + filter comboboxen

Bedoeling is dus dat ik m’n zoekopdracht invoer in de textbox en dan verder filter mbv de comboboxen. En dat dit ook mogelijk is als je eerst filtert op combobox en dan op textbox.

wat ik reeds heb van vba code is wat ik hier en daar gevonden heb op het net en daarna aangepast naar mijn wensen. Ik ben zeker geen access of vba deskundige ... dus er kunnen wel wat onorthodoxe manieren van werken aanwezig zijn, maar wat ik reeds heb werkt redelijk naar behoren.

Wie kan mij hiermee verder helpen? Heb al vanalles geprobeerd, maar het wil niet lukken.

voorbeelddatabase in bijlage

alvast bedank
mvg Tom
 

Bijlagen

  • stock_vba2.rar
    610,1 KB · Weergaven: 41
Wat ik wil: Combinatie van filter textbox + filter comboboxen
Ik vind dat een beetje een onzinnige eis; een combobox heeft een Recordsource en die bepaal je door ofwel de query zelf te maken, ofwel door met VBA de query samen te stellen. Beide kunnen; jij gebruikt nu de eerste variant. Daarmee zoek je gelijk een waarde op in de lijst, en krijg je er dus één terug.
Zoeken met een tekstvak is veel flexibeler, omdat je per letter de lijst kunt filteren. Alleen: dat doe jij niet, jij filtert pas bij een druk op de Enter toets. Dat is dus niet zo handig. Door de lijst 'live' te filteren, werk je veel flexibeler. En doe je dat, dan heb je nauwelijks nog behoefte aan filteren met een keuzelijst. Althans: dat is mijn ervaring. Zeker als je al zoekt op meerdere velden tegelijk, zoals jij doet. Dat kan nooit met een keuzelijst.
Probeer deze variant eens, en kijk dan of je de combi nog steeds nodig hebt, zou ik zeggen.

Code:
Private Sub search_Change()
Dim strFilter As String

    With Me.search
        If Not .Text & "" = "" Then
            strFilter = "Product LIKE ""*" & .Text & "*"" OR " _
                & "omschrijving LIKE ""*" & .Text & "*"" OR " _
                & "artNrProducent LIKE ""*" & .Text & "*"" OR " _
                & "artikelnrLeverancier LIKE ""*" & .Text & "*"" OR " _
                & "artikelnrLeverancier2 LIKE ""*" & .Text & "*"""
        Else
            strFilter = ""
        End If
    End With
    With Me
        .filter = strFilter
        .FilterOn = strFilter <> vbNullString
        .search.SetFocus
        If Not .search.Text & "" = "" Then .search.SelStart = Len(.search.Text)
    End With
End Sub
 
net alles eens getest en ben zeer tevreden met de werking hiervan :thumb:
nu kan ik terug verder met de finetuning van m'n projectje .
Bedankt voor de snelle reactie

thanx
Tom
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan