Formulierfilters dmv macroknoppen

Status
Niet open voor verdere reacties.

Sjack

Nieuwe gebruiker
Lid geworden
15 dec 2016
Berichten
2
Bekijk bijlage Conciergekl.rar

In het formulier heb ik 4 rode knoppen. Nu wil ik filteren.

Als ik op knop "Aanvang" druk wil ik alleen die regels selecteren waar Aanvang is aangevinkt
Als ik op knop "In bestelling" druk wil ik alleen die regels selecteren waar Aanvang en In bestelling is aangevinkt
Als ik op knop "Ontvangen" druk wil ik alleen die regels selecteren waar Aanvang, In bestelling en Ontvangen is aangevinkt
Als ik op knop "Uitgeleverd" druk wil ik alleen die regels selecteren waar Aanvang, In bestelling, Ontvangen en Uitgeleverd is aangevinkt.

Wie kan mij daarbij helpen in het bijgevoegde bestandje.

Bij voorbaat dank

Sjack
 
Ik neem aan dat je het selectievakje op het formulier ook aan- of uit wilt zetten met je knoppen en dat je daarmee dus kunt zien wat er precies gefilterd wordt. Ik heb er één voor je gemaakt, de rest kan je denk ik zelf wel hiermee.

Code:
Private Sub Knop240_Click()
    Me.In_bestelling = Not Me.In_bestelling
    If Me.In_bestelling = True Then
        Me.Filter = "[in bestelling] = True"
        Me.FilterOn = True
    Else
        Me.Filter = ""
        Me.FilterOn = False
    End If
End Sub

Overigens zou ik de knoppen een logische naam geven; Knop240 zegt natuurlijk geen bal...
 
Formulier Filters dmv macroknoppen

Hallo Octafish,

dank voor Uw hulp. Het is niet helemaal wat ik bedoel. De vinkjes zet is manuaal. Als dat is gebeurd wil ik op een knop drukken en wil dan alleen die regels zien die de desbetreffende vinkjes hebben.
bv. als ik op "in bestelling" druk worden alle regels er uitgefilterd die bij "aanvang" en "in bestelling" een vinkje hebben. De andere 2 hebben geen vinkje.
bv. als ik op "ontvangen" druk worden alle regels er uitgefilterd die bij "aanvang" , "in bestelling" en "ontvangen" een vinkje hebben. Het vakje "uitgeleverd" heeft geen vinkje. Wel moet er eerst in de macro staan dat alle filters worden teniet gedaan en dan pas het nieuwe filter wordt ingeschakeld.

Ik hoop dat U mij verder kan helpen.

Bij voorbaat dank,

Sjack
 
Ik vind het maar een rare constructie; elke opzet waarbij je fouten kan maken (en dit is er overduidelijk één) zou je moeten ombouwen naar een situatie waarin dit níet kan. Waarom kan het fout? Nou, als je 4 selectievakjes op het scherm zet, wie houdt de gebruiker dan tegen om de vakjes <Aanvang> en <Uitgeleverd> aan te klikken? Wat moet er dan gebeuren? En zo zijn er veel meer foute combinaties te bedenken... Terwijl je eigenlijk maar 4 mogelijkheden zou moeten hebben!. Dat niet alleen: elke mogelijkheid die je mag kiezen, is een vervolgstap op de vorige. Dus naast het feit dat je de gebruiker volop gelegenheid biedt om het fout te doen, dwing je diezelfde gebruiker ook nog eens om 4 keer te moeten klikken om het voltooide product te kunnen zien. Kortom: het kan allemaal veel simpeler in mijn ogen. Namelijk: met één keuzelijst met daarin de 4 opties. Simpel: je kunt er maar één kiezen, dus het kan nooit fout gaan. Scheelt ook nog eens 3 velden, want je kunt nu met één veld volstaan. En het maken van het filter is dan ook ineens kinderspel. Overigens is het dat nu ook al; ik had wel verwacht dat je op basis van het voorbeeldje dat voor elkaar had gekregen :).

Code:
Private Sub Knop240_Click()
    If Me.In_bestelling = True And Me.Aanvang = True Then
        Me.Filter = "[in bestelling] = True And [Aanvang] = True"
        Me.FilterOn = True
    Else
        Me.Filter = ""
        Me.FilterOn = False
    End If
End Sub

Code:
Private Sub Knop241_Click()
    If Me.In_bestelling = True And Me.Aanvang = True And Me.Ontvangen = True Then
        Me.Filter = "[in bestelling] = True And [Aanvang] = True And [Ontvangen] = True "
        Me.FilterOn = True
    Else
        Me.Filter = ""
        Me.FilterOn = False
    End If
End Sub
Maar ik zou het dus heel anders doen, zoals hierboven uitgelegd.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan