Visual Basic (Access 2013 Filter script)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 399210

Topicstarter
beste mensen,

Voor een klein projectje probeer ik met Access via Visual Basic Code een form te openen met behulp van:

DoCmd.OpenForm "form-naam"


Je kan zelfs zoals de meeste weten een WHILE conditie meesturen zodat het betreffende formulier wordt gefilterd op basis van deze while conditie. Nu lukt het me bij een groot aantal formulieren wel, maar lijkt het bij een ding niet te lukken.

Wat is het doel?
Ik heb op het formulier 2 tekstboxen genaamd:
- Begin datum
- Eind datum

Hierin worden 2 datums opgegeven. Bij het openen van het form moet er gefilterd worden op datums BINNEN deze 2 datums. Dus wat ik wil is eigenlijk:

WHERE datum >= begin_datum AND datum <= eind_datum

Ik krijg dit maar niet op een of andere manier gepropt in de WHILE conditie van de Visual Basic code.
Een voorbeeld van werkende code die ik nu voor andere forms gebruik is:

search_filter = "VoorwerpID LIKE '*" & Me.zoek_titel_bar.Value & "*' "
DoCmd.OpenForm "#3 Veilingitems zoekresultaat", acNormal, , search_filter



Wellicht dat jullie een beetje hulp in de goede richting kunnen geven?
Bedankt alvast.

Acties:
  • 0 Henk 'm!

  • BertS
  • Registratie: September 2004
  • Laatst online: 14-04 17:14
Wat heb je nu staan in het search_filter voor die datum? Volgens mij moet het iets zijn als
Visual Basic:
1
search_filter = "Datum BETWEEN #" & Me.begin_datum.Value & "# AND #" & Me.eind_datum.Value & "#"

Wel goed testen met datumnotaties, omdat dit problemen kan geven met EN/NL-notatie door elkaar (1/6/2015: 1 juni of 6 januari?), ander skun je om de me.begin/eind_datum.Value nog een Format() zetten die de juiste notatie geeft. Maar zo uit m'n hoofd gezegd zal dit al goed gaan.

Acties:
  • 0 Henk 'm!

Anoniem: 399210

Topicstarter
BertS schreef op zaterdag 30 mei 2015 @ 19:47:
Wat heb je nu staan in het search_filter voor die datum? Volgens mij moet het iets zijn als
Visual Basic:
1
search_filter = "Datum BETWEEN #" & Me.begin_datum.Value & "# AND #" & Me.eind_datum.Value & "#"

Wel goed testen met datumnotaties, omdat dit problemen kan geven met EN/NL-notatie door elkaar (1/6/2015: 1 juni of 6 januari?), ander skun je om de me.begin/eind_datum.Value nog een Format() zetten die de juiste notatie geeft. Maar zo uit m'n hoofd gezegd zal dit al goed gaan.
Serieus, je bent een held! Het werkt gewoon goed!

Ik kan een checkbox aanvinken met "Alles" die van alle records een rapport maakt,
Of ik kan nu op een form 2 datums kiezen. Als ik op de knop "Zoeken" druk wordt het geopende Rapport gefilterd tussen deze 2 waardes. Dit is erg mooi en ik ben je erg dankbaar.