Opgelost Query uitvoeren maar niet laten zien

Dit topic is als opgelost gemarkeerd

RobertJB66

Gebruiker
Lid geworden
2 feb 2022
Berichten
229
Ik heb een Query dbo_EECQ_Q met aks bron dbo_EECQ-Locaal in Access.
Nu wil ik een query uitvoeren op dbo_EECQ_Q o.b.v. locatie. waarbij locatie zit opgesloten in ptqFilter.

Code:
        DoCmd.OpenQuery "dbo_EECQ_Q"
        DoCmd.ApplyFilter , ptqFilter

Werkt prima ik will echter dat het Query overzicht niet naar voren komt in de interface.
Wat zou ik voor het ' OpenQuery" moeten gebruiken zodat het wel wordt uitgevoerd maar niet zichtbaar is in de interface?
 
Ik neem aan dat het hier niet gaat om een actiequery (insert, update, delete) maar om een raadpleegquery (select). De vraag is dan waarom je de qeury uit wil voeren als je het resultaat niet wilt zien?
 
Het klopt het gaat om een Select.
Het resultaat van deze query wordt gebruikt in diverse formulieren en rapporten of is de bron van een andere query.
 
Volgens mij kan je ApplyFilter niet toepassen op een query. Je zal de querydefinitie aan moeten passen.
Code:
    Dim qdf As DAO.QueryDef   
      
    Set qdf = CurrentDb.QueryDefs("dbo_EECQ_Q")
    qdf.SQL = "SELECT * FROM T1 WHERE " & ptqFilter

SELECT * FROM T1 is uiteraard een voorbeeld.
 
Als de query gebruikt wordt als basis voor een formulier of voor een andere query, heeft het niet veel zin om die apart te openen. Open gewoon het formulier of de resultaat query en de basis query wordt automatisch, onzichtbaar uitgevoerd.
 
NoallaG, dank je wel. toch nog een vraag.

De basis query heeft b.v. Locatie in zich echter de achter liggende Query heeft Locatie niet in zich.
Mijn gedachte was ik voor de basis query uit dan ontvangt de achter liggende query allen de resultaten hiervan. Ik verwacht namelijk niet dat ik de resultata query kan uitvoeren met als filter Locatie terwijl Locatie niet aanwezig is in de resultaat query.
 
Nog even de spraakverwarring uit de lucht halen: de achterliggende query is je basisquery, dus de query mét het locatiefilter. De afhankelijke query heeft en hoeft) dus geen lokatiefilter, want de tweede query (die op het formulier, neem ik aan) heeft al een gefilterde bron. Dus die kan je niet meer op locatie filteren. Tenzij je in de eerste query op meerdere locaties filtert, en in de formulierquery op één locatie wilt filteren. Maar dan nog kan je nog steeds de basisquery gelijk aan je formulier hangen.

Overigens zou ik zelf in de basisquery zónder filter werken op het formulier, en op dat formulier in de koptekst met een keuzelijst werken waarin je de lokatie kiest. Heb je een veel flexibelere situatie.
Of, als je met meerdere personen werkt die op/met verschillende locaties werken, die locaties in de werknemer tabel opslaan, zodat je bij het openen van het formulier automatisch je eigen lokatiegegevens ziet. Kortom: ik denk (want er zijn meer oplossingen) dat het een stuk slimmer kan dan je nu doet.
 
OctaFish dank voor de informatie. Jij heb mij aan het denken gezet en ik heb een oplossing gevonden in de lijn die jij beschijft.
 
Terug
Bovenaan Onderaan