Public var laten meenemen in query

Status
Niet open voor verdere reacties.

remcop1989

Gebruiker
Lid geworden
29 mrt 2012
Berichten
492
http://www.mijnbestand.nl/Bestand-G7FCFCWLJ7MD.mdb

In mijn Access db (zie link) meld de gebruiker zich aan in het formulier "Inloggen". De gebruikersnaam en gebruikersID worden opgeslagen als Public Var in "Username" en "UserID".
Na aanmelden komt men op het formulier hoofdmenu terecht. Hier heb ik een subformulier "Subformulier Offertes in afwachting". Hier moeten alle offertes komen te staan met status "In afwachting klant" voor de huidige gebruiker.

Hoe krijg ik de query in het Subformulier "Subformulier Offertes in afwachting" zo ver om de UserID (public var) op te halen?

Of ben ik weer te moeilijk bezig?
 
Een query in Access 2003 kan geen variabele uitlezen. Je zult de waarde van de variabele dus eerst op een formulier moeten zetten.
 
Het veld 'txtGebruikersID' op formulier 'hoofdmenu' krijgt met VBA de UserID. Als ik daarnaar verwijs werkt het niet
 
Dat is het punt: in je formulier verwijs je daar niet naar.
Code:
[Forms]![Hoofdmenu]![txtGebruikersID]
werkt prima.
 
Dat had ik maar het werkte niet. Hij toonde niets. Ook niet na veranderen van inner join naar ander join type
 
Je probleem heeft niks met een Inner join te maken, maar wel met je formulier. Je vult daar het teksveld [txtGebruikersID] met de UserID bij de gebeurtenis Private Sub Form_Current(). Op dat moment is je subformulier al gefilterd (op een leeg veld, dus geen records). Dus is de oplossing simpel: zet een requery op je subformulier nadat je het gebruikersID hebt ingevuld in de Current Event.
 
Ik heb je problemen aangepast, en (nu echt voor de laatste keer ;) ) de code die je gebruikt om formulieren te sluiten (en te openen met een nieuw record) aangepast. Ik wil die oude code nu niet meer zien :)
 

Bijlagen

In plaats van

Code:
"Formuliernaam", acSaveYes

Moet ik dus

Code:
Me.Form.Name

gebruiken voor het sluiten. Aan het openen van een formulier heb je dus niets veranderd he?

Waarom is de nieuwe code beter?
 
Om te beginnen: je verandert niks aan (de structuur van) je formulieren, dus acSaveYes is een onzinnige toevoeging. Verder kun je een formulier prima met de letterlijke naam sluiten, maar als je de naam verandert, klopt je code niet meer. Door de naam uit de formuliereigenschap te halen, wat ik steeds doe, kun je dezelfde procedure bij elk formulier gebruiken, en hoef je hem nooit meer te veranderen. J maakt dus geen fouten meer, en het werkt sneller. Meer verkoopargumenten zou je niet nodig hoeven te hebben!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan