Opgelost Variabele gebruiken in meerdere formulieren

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

RobertJB66

Gebruiker
Lid geworden
2 feb 2022
Berichten
219
Ik heb in het hoofd formulier van mijn access app een Public Variable "Filter"

Public Filter as String

Nu vul ik deze Variabele in een ander formulier met data en wil deze data in deze variabele in het hoofd formulier gebruiken voor het uitvoeren van een Query.

Als ik step mode kijk dan wordt "Filter" keurig gevuld met de data in het sub formulier, maar in het hoofd formulier is de inhoud van de variabele = "".

Hoe kan ik ervoor zorgen dat de inhoud van "Filter"in alle sub formulieren uit te lezen is?
 
Je kan er een publieke eigenschap van maken en vie de property procedures invullen. Dan kan je deze eigenschap van het formulier overal oproepen zolang het formulier openstaat.
 
Gebruik geen Public variabele, maar een Tempvars. Die kun je overal gebruiken en oproepen, zelfs in queries.
 
Je kan er een publieke eigenschap van maken en vie de property procedures invullen.
Dat is niet helemaal waar. Om te beginnen doet TS dat al (zie regel 1 van de vraag), en daarnaast zijn Public variabelen ook gebonden een scope. Zo is een public variabele op een formulier alleen geldig op dat formulier. Wil je een public variabele overal gebruiken, dan moet die dus op een aparte module staan.

Maar sowieso is het werken met TempVars een veel betere oplossing.
 
Om het bereik van variabelen (en declaraties) duidelijk te maken: hier staat e.e.a. uitgelegd. En het verhaal over TempVars staat hier.
 
Dat is niet helemaal waar. Om te beginnen doet TS dat al (zie regel 1 van de vraag), en daarnaast zijn Public variabelen ook gebonden een scope. Zo is een public variabele op een formulier alleen geldig op dat formulier. Wil je een public variabele overal gebruiken, dan moet die dus op een aparte module staan.
Daarom moet je er ook een publieke eigenschap van mpaken met een property procedure. Die komen per twee een property get en een property let. Als je die publiek maakt kan je die aanroepen/gebruiken zoals elke andere formulier eigenschap. Het mooie hieraan is dat je helemaal object georiënteerd blijft werken wat met tempvars niet is.
 
Het mooie hieraan is dat je helemaal object georiënteerd blijft werken wat met tempvars niet is.
Lijkt mij een nutteloze winst. Tempvars werken perfect. En simpel. Voor Let en Get procedures moet je toch een béétje verstand hebben van het maken van Klassenmodules. Niet iedereen heeft dat. En nogmaals: in het kader van deze vraag is dat ook helemaal niet nodig. Hou het simpel.

En zullen we nu eens (voor de verandering) wachten op wat TS te melden heeft?
 
Sorry was voor mij al opgelost. ik heb de TempVars! oplossing gebruikt. Was daar niet van op de hoogte.

Thx.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan