controle filter leeg

Status
Niet open voor verdere reacties.

Jos Van den Bro

Gebruiker
Lid geworden
25 mei 2006
Berichten
61
Hallo,

Kan men indien men een filter uitvoert ( Me.Filter = ("[A] like '" & "*" & [zoek_A] & "*'") Me.FilterOn = True) nakijken of het resultaat hiervan geen records oplevert?

Indien dit zich voordoet had ik graag deze filter terug uitgezet waar ik dan een MsgBox laat verschijnen.

Hoe ga ik tewerk?

Dank U

Groeten

Jos
 
Ik snap even niet wat je aan het doen bent, al constateer ik wel dat de haakjes op jouw toetsenbord blijkbaar in de aanbieding waren (ze zijn overbodig) :).
Zodra je een filter uitvoert met VBA zie je vanzelf of er records overblijven of niet. En de gebruiker is dan vast wel in staat om zelf dat filter weer uit te zetten. Als je je werkt goed gedaan hebt, is dat een handeling van niks voor de gebruiker. Waarom zou je een Msgbox willen laten zien (“Er zijn geen records gevonden”?) voor iets zo luid en duidelijk op het scherm is te zien?
Je zadelt de gebruiker alleen maar op met meer werk: naast het uitzetten van het filter, moet-ie ook nog eens een Msgbox wegklikken.

Daarnaast nog de vraag: filter je op een doorlopend formulier, of een enkelvoudig formulier?
 
Hallo Octafish

Dit is een database voor persoonlijk gebruik.

De filter wordt uitgevoerd op een enkelvoudig formulier en ik had gewoon graag geweten of dit mogelijk was wanneer er geen resultaat was om de filter dan terug automatisch af te zetten (msgbox weg klikken via enter toets).

Weeral iets bij geleerd betreffende de haakjes.

Groeten,

Jos
 
Volgende vraag: hoe gebruik je het filter nu? Ik vermoed met een tekstveld op je formulier waarin je dan de zoekstring intypt. Maar dan?
 
Is inderdaad met een tekstveld en dan Me.Filter = (" A like '" & "*" & zoek_A & "*'") Me.FilterOn = True
 
Ik snap hoe je het filter maakt en aanzet, maar dat bedoelde ik eigenlijk niet; ik was denk ik niet duidelijk genoeg. Ik wilde weten hoe je de code aan- en uitzet.
 
Even een voorzetje dan maar hoe ik dit doorgaans doe: op het zoekveld gebruik ik de eigenschap <Bij wijzigen> om het filter te triggeren. je filtert dan 'live' op je formulier (vandaar dat ik vroeg of je een doorlopend formulier gebruikt, want daar zie je het effect het best). Je ziet dus bij elke letter die je typt de selectie kleiner worden, tot je er één, of niks overhoudt. Zodra je bij niks uitkomt, haal je de laatste letter(s) weg en voilà, je records komen weer stuk voor stuk terug. Nergens een Msgbox nodig, maar gewoon tekst intypen en verder niks.
 
in het tekstvlak wordt er een woord ingegeven en daarna op enter. Als ik het op <Bij wijzigen> zet springt hij steeds naar een veld alhoewel er op het tekstvlak een tab stop staat.
 
Laatst bewerkt:
Dan doe je iets niet goed denk ik, ik heb nooit problemen met de gebeurtenis <Bij wijzigen>. Daarbij zou de focus nooit uit het tekstvak weg mogen zijn, tenzij je uiteraard op de <Enter> toets drukt.
 
Probleem met mijn filter is wanneer ik iets heb ingegeven waar ik geen resultaat van terug krijg mijn velden en knoppen verdwijnen:

zonder filter:
zonder filter.jpg

met filter:

met filter.jpg

Dit gebeurt zowel met een eenvoudig als gesplitst formulier.
 
Ik heb dit nog nooit zo bij de hand gehad, dus ik heb geen idee wat je dan gemaakt hebt. Ik gebruik een hele simpele code die perfect werkt, en niks verbergt.
Code:
Private Sub Zoektekst_Change()
Dim sZ As String

    sZ = Me.Zoektekst.Text
    If Len(sZ) > 0 Then
        Me.Filter = "[Medewerker_naam] Like ""*" & sZ & "*"""
        Me.FilterOn = True
        Me.Zoektekst.SelStart = Len(sZ)
    Else
        Me.Filter = ""
        Me.FilterOn = False
    End If
End Sub
Alles wat je meer doet, is dus blijkbaar teveel :D.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan