Query verbergen als deze geen records bevat

Status
Niet open voor verdere reacties.

belois

Gebruiker
Lid geworden
1 jun 2009
Berichten
22
Ik heb wellicht een simpele vraag maar kan deze niet zo eenvoudig vinden.

Ik heb een aantal query's die elke dag gedraaid worden. Sommige hiervan zijn leeg omdat bijvoorbeeld een bepaalde datum niet is verstreken. Hoe kan ik voorkomen dat deze lege query's worden gedraaid?

Ik neem aan dat ik iets met num rows moet doen?

Uit de vraag blijkt al dat ik geen VBA of Access expert ben.
 
Op zich is het draaien van een query zonder resultaten een zinloze bezigheid, maar ik snap het probleem niet helemaal; loopt het proces er door vast?

Als je wilt voorkomen dat er geen records worden uitgevoerd die geen resultaat opleveren, kun je dat met VB wel controleren, maar dan zul je dat denk ik toch wel aan de gebruiker kenbaar willen maken met een dialoogvenster?
Een proces zomaar stoppen omdat er geen records in een query zitten is voor een gebruiker verwarrend, omdat die natuurlijk niet weet dat er geen resultaat is. Daar zul je toch rekening mee moeten houden.
Ergo: als een gebruiker een query draait, en er komt niks uit, heeft hij toch resultaat....

Michel
 
Hallo Michel

Op zich heb je gelijk, echter bij het opstarten van de database worden er standaard drie query's uitgevoerd welke een verlopen aanvragen etc. laten zien. Ik wil graag dat als de query met verlopen aanvragen geen records bevat deze dan ook niet te zien is.

Dit is voor de gebruiker dan duidelijk dat er niets is verlopen.
 
Het lijkt erop, dat je de queries via een AutoExec macro laat lopen; klopt dat?

Michel
 
Hallo Michel

Ja dat klopt, Wellicht heb je een betere en/of andere oplossing die wat beter volstaat.
 
Query niet uitvoeren of verbergen als deze geen records bevat

Iemand nog een andere invalshoek? Wellicht moet ik dit helemaal niet met een query oplossen.
 
Heb er niet echt meer naar gekeken vrees ik, en daardoor is de vraag een beetje weggeslipt...
Wat je misschien zou kunnen doen, is een procedure maken, die de recordsets doorloopt en de records telt, en alleen de queries met meer dan 1 record ook echt uitvoert.
In de AutoExec macro kun je dan de procedure aanroepen.

Michel
 
Hoi Michel

Hoe maak ik deze procedure om de recordsets te doorlopen? Voor mij is het inderdaad ook wel een jaartje of 4/5 geleden dat ik me heb beziggehouden met Access.
 
Je kan het met een macro proberen, waarbij je de voorwaarden instelt.

FloorE had in een draadje over Excel gegevens exporteren deze tip:

Dit kan je beïnvloeden via de voorwaarden knop in de macro. zie Microsoft

Als voorwaarde laat je het aantal records in je query tellen. Is het aantal groter dan 0 dan..
Vallen meerdere regels in je macro onder dezelfde voorwaarde dan geef je dat aan door drie puntjes (...) zonder haken.

Als je niet zo thuis bent in programmeren, kun je dat wel eens proberen, zelf zoek ik het liever in VBA, dus ik zoek daar wel even een voorbeeldje van.

Michel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan