Even een opmerking Ter Algemeen Nut: blijf uit de buurt van de knop Citeren
als er niks te citeren is. Dit is een nutteloze quoot. Je antwoord kon je gelijk in het tekstvak zetten.
De code is heel algemeen, want Me.Filter etc. werkt onder elke knop die je maakt. Kwestie van een nieuwe knop maken, en daar een gebeurtenis aan hangen bij de Eigenschappen van die knop op het tabblad Gebeurtenissen. Die actie hang je dan aan de gebeurtenis Bij klikken>. Je hoeft dus alleen de code te kopiëren die tussen de eerste regel (Private Sub…) en laatste regel (End Sub) staat.
In jouw geval zou ik volstaan met een
Wisselknop, en dus afzien van
twee knoppen, wat het voorstel van Peter is. Twee knoppen nemen immers meer ruimte in dan één knop, en in essentie wil je ook alleen maar een filter aanzetten of uitzetten. Dat kan dus net zo makkelijk met één knop.
Of, als alternatief: gebruik één Opdrachtknop voor de twee acties. Dat doe ik zelf meestal. Ik verander dan met de gebeurtenis ook de Caption (de tekst op de knop). Op basis van de tekst “Filter aan” zet ik dan de caption op “Filter uit” en het filter aan, en op basis van de tekst “Filter uit” zet ik de caption op “Filter aan” en het filter uit.
Dus iets als:
Code:
Private Sub cmdFilter_Click()
If Me.cmdFilter.Caption = “Filter aan” Then
Me.Filter = "IsNull(Einddatum) or Einddatum > Date()"
Me.FilterOn = True
me.cmdFilter.Caption = “Filter uit”
ElseIf Me.cmdFilter.Caption = “Filter uit” Then
Me.cmdFilter.Caption = “Filter aan”
me.FilterOn = False
End Sub
In dit voorbeeld heb ik dus één knop met de naam cmdFilter, die beide acties (aanzetten en uitzetten) regelt. Overigens kan de ElseIf… regel geheel vervangen worden door het woord Else. Er zijn immers maar twee mogelijkheden op deze manier.