Gegevens van een query worden afgedekt door een formulier

Status
Niet open voor verdere reacties.

rebmog

Gebruiker
Lid geworden
14 jul 2009
Berichten
745
Besturingssysteem
Windows
Office versie
Office 365
Hallo forumleden,

Als ik vanuit een formulier met een commandbutton een query open met DoCmd.OpenQuery, dan krijgt deze query wel de focus, maar het geopende formulier blijft voor deze query staan en dekt een gedeelte van de gegevens af. Dit kan ik alleen maar verhelpen door het formulier te sluiten of te verslepen. In de bijlage heb ik een klein voorbeeldje gemaakt van dit verschijnsel. Is het in vba te realiseren dat het formulier als het ware naar achteren wordt geplaatst? Een andere oplossing is om het formulier tijdelijk te sluiten en weer te openen als de query wordt gesloten. Ook dit kan ik niet voor elkaar krijgen omdat ik geen gebeurtenis aan een query kan koppelen. Iemand enig idee hoe ik dit kan oplossen, zonder gebruik te maken van een apart formulier om de query weer te geven? Alvast bedankt voor het meedenken.

Rebmog
 

Bijlagen

Dit is de makkelijkste manier:

Code:
Private Sub btnQueryOpenen_Click()
    [B]DoCmd.Minimize[/B]
    DoCmd.openquery "qryTest", acViewNormal
End Sub

Je kunt namelijk vanuit een query geen formulier openen, dus kies ik meestal voor minimaliseren.

Michel
 
Ik zou, volgens goed gebruik, niet de query openen maar de gegevens die de query ophaalt tonen in een rapport ;)
Mocht je de gegevens na tonen willen berwerken, laat dan de gegevens zien in een formulier.

Grtz,

Tardis
 
Als je in de richting van Tardis denkt, zou ik het in een formulier zoeken; een rapport heeft hetzelfde probleem als een query openen: je formulier kun je niet besturen vanuit een rapport.

Michel
 
Als je de eigenschap "Popup" van je formulier op "Nee" zet, dan wordt je query op de voorgrond geopend.

Overigens open ik de query's nooit rechtstreeks, maar ik maak formulieren (als ik wil muteren) of raporten (als ik alleen iets wil tonen of via mail wil versturen etc.) gebaseerd op de query's.

mvg
Charles
 
Bedankt voor jullie reacties. Ik open normaal gesproken ook nooit queries met Docmd.OpenQuery en gebruik hier in de regel formulieren en rapporten voor. Maar in dit geval zou ik ermee kunnen volstaan, omdat de query in de praktijk niet veel gebruikt gaat worden en alleen gebruikt wordt door ervaren access-gebruikers, Het formulier zou er in dit geval vrijwel exact hetzelfde uitzien als de geopende query. Daarom zou ik hiermee een formulier kunnen besparen. Ik kan echter de eigenschap pop-up van het onderliggende formulier niet uitschakelen, omdat dan het onderliggende formulier niet goed werkt. Dus ik vrees dat er in dit geval niets anders opzit dan toch een apart formulier te maken.

Rebmog
 
Zoals ik al voorstelde: je kunt je formulier met een Docmd.Minimize minimaliseren. Moet je wel de Minimalisatieknop op het formulier activeren, want anders kun je het formulier later niet herstellen naar het vorige formaat.
Simpel, en effectief!

Michel
 
Dat minimaliseren snap ik, maar hoe krijg het formulier dan weer gewoon in beeld als ik de query afsluit? Hieraan kan ik namelijk volgens mij geen gebeurtenis koppelen.

Rebmog
 
Dat klopt, dat doe je op het formulier zelf. Dat is, zeg maar de 'prijs' die je betaalt voor de simpele optie van het openen van een query. Vandaar de opmerkingen van de forummers om een apart formulier of rapport te maken.
Mijn optie is dan ook een formulier, omdat je dan wel kunt schakelen.
Met een rapport heb je hetzelfde probleem als met een query: je kunt, althans niet zonder programmeren, vanuit een rapport terug naar een rapport.

Michel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan