Filteren op jaar (dubbele filter)

Status
Niet open voor verdere reacties.

gangstalaz

Gebruiker
Lid geworden
13 sep 2010
Berichten
131
Hallo,

Ik werk met access 2003 en ik kom ergens niet aan uit.
Ik heb een formulierlijst waar ik verschillende artikelen krijg van verschillende leveranciers. Hier kan ik dan filteren (query) op leverancier, artikel, artikelnr, etc. (zie bijlage)formulierlijst.jpg
Ook heb ik twee knopjes (gekoppeld aan een query) staan om het op jaar te kunnen filteren (2011 en 2012). Deze twee knopjes werken INDIVIDUEEL perfect. Maar in combinatie met de knopjes leverancier, artikel etc etc kan ik ze niet gebruiken.
Wanneer ik eerst filter op jaar en dan op leverancier, krijg ik alle artikelen van 2011 en 2012.
Als ik het andersom doe, krijg ik alle leveranciers met verschillende artikelen van het jaar 2011 of 2012.

Ik zou dus willen dat ik eerst op leverancier, artikel, artikelnr. etc etc kan filteren en dan het jaar kan kiezen. Zou dat niet kunnen met een VBA code. Dus iets met ITEMS from Me.Istleverancier with 2011.... en ééntje voor 2012???

Ik hoop dat ik zo snel mogelijk reacties krijg.

Alvast bedankt!
 
Waarom gebruik je knoppen? Ik neem aan dat je achter elke knop een vaste filtercode hebt staan, en dat verklaart dan wat er gebeurt: zodra je een knop aanklikt, wordt de code van die knop uitgevoerd. En daarmee wordt de filtering van de vorige actie ongedaan gemaakt. Dus als je eerst op Leverancier filtert, heb je geen filter op Jaar en omgekeerd.
Gebruik je Keuzelijsten om te filteren, dan kun je een filter opbouwen op basis van de verschillende keuzelijsten. Filter je op één keuzelijst, dan heb je één filter. Kies je vervolgens iets uit een andere keuzelijst erbij, dan wordt het filter uitgebreid.
Dat vereist een totaal andere aanpak, omdat je het filter dynamisch moet gaan opbouwen. Het onderwerp komt regelmatig langs, en ik heb dan ook een fraai voorbeeldje dat je eens kunt bekijken.
 

Bijlagen

Wow ziet er echt mooi uit. Ga ik zeker doen. Maar ik kan daar nu even niet aan beginnen. Ze moeten de database hier vandaag gaan gebruiken.
Mijn code achter het knopje "2012" is:

Code:
Private Sub Knop31_Enter()
  If Me!Knop31.Caption = "2012" Then

    Me!lstLeverancier.RowSource = "Q_2012"
  Else
    Me!Knop31.Caption = "2012"
    Me!lstLeverancier.RowSource = "Q_Bestellingzoeker"
  End If
End Sub

Achter het knopje "leverancier" staat:

Code:
Private Sub Knop16_Click()
  If Me!Knop16.Caption = "Ga naar Leverancier" Then

    Me!lstLeverancier.RowSource = "Q_Leverancierszoeker"
  Else
    Me!Knop16.Caption = "Ga naar Leverancier"
    Me!lstLeverancier.RowSource = "Q_Bestellingzoeker"
  End If
End Sub

Zou het echt niet kunnen dat er een code achter 2012 komt? Nadat ik eerst gefilterd heb op leverancier, dat ik dan het jaar kan kiezen?
 
Laatst bewerkt:
Zoals ik het nu kan zien, wordt dat heel lastig, omdat je met vaste queries werkt. En in die queries heb je de filteringen gemaakt. Je zou op zijn minst met één variabele query moeten gaan werken, waarin je de criteria aanpast op basis van de knoppen. Maar op deze manier heb ik er een hard hoofd in...
Als je een voorbeeldje kunt posten, wil ik er nog wel even naar kijken.
 
In verband met de grootte kon ik het niet op de forum zetten. Ik heb het naar je gestuurd per mail.
 
Ik kijk er naar!
 
Ik heb een oplossing gemaakt op basis van Wisselknoppen, die je hopelijk wel kunt gebruiken. Met een normale knop heb je het probleem dat je nooit weet of hij is ingedrukt of niet (dat is hij namelijk nooit) en bij een Wisselknop kun je dat uitlezen. Op basis van een ingedrukte knop kun je dan een filter samenstellen of niet.

In bijgaand voorbeeld zijn alle tabellen, formulieren en rapporten verwijderd, dus je zult het formulier <fBestellingzoeker> moeten importeren in je eigen db. Dan zou hij al gelijk moeten werken. Ik heb voorlopig drie wisselknoppen gemaakt: huidig jaar, vorig jaar en Leverancier. Kijk maar eens hoe het werkt.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan