Waarde tekstvak van gesloten formulier tonen

Status
Niet open voor verdere reacties.

Abel Visscher

Gebruiker
Lid geworden
28 mei 2007
Berichten
171
Hallo,

Ik zit met het volgende probleem,is het mogelijk om een (standaard)waarde van een tekstvak te laten zien in een tekstvak van een 2e formulier terwijl de eerste is gesloten?
Mij lukt het niet met de volgende code in Txt2 van formulier2

(besturingselementbron)=Formulieren!Formulier1!Txt1

Deze code werkt wel als formulier1 geopend is.
Wat doe ik niet goed, of wat zie ik niet?
 
Zoals je hebt gemerkt, kun je geen waarde van een gesloten formulier uitlezen, en dat is op zich ook wel logisch; als het formulier niet geladen is, heeft het ook geen waarden die je kunt uitlezen. En al helemaal als het formulier gekoppeld is aan een gegevensbron; dan is er van een gesloten formulier uiteraard helemaal niks meer te lezen. Wat je dus niet goed doet is heel simpel: je doet iets wat niet kan.

Dus de conclusie is: je zult het formulier geopend moeten hebben. Wat je kunt doen, is het formulier verbergen door de eigenschap Visible op False te zetten, of je kunt een Public variabele maken die de waarde van het betreffende tekstvak krijgt. De variabele kun je te allen tijde opvragen, dus dan maakt het niet meer uit of het formulier gesloten is.
 
bedankt voor je reactie Octafish.

Een formulier visable maken dat begrijp ik en dat zal ook wel lukken.
Ik ben echter ook wel nieuwsgierig naar de oplossing om een Public variabele te maken.
Echter is mijn kennis van een laag pijl zodat ik nu al niet weet waar ik moet beginnen.
Kun je mij daar waar meer over uitleggenmet bv een voorbeeldje?
Bij voorbaad dank.

Iemand anders mag natuurlijk ook.
 
Laatst bewerkt:
Een voorbeeldje hoeft denk ik niet, want het is vrij simpel. Maak een Module aan (als je nog geen bestaande modules hebt tenminste, want dan kun je daar in werken) en zet helemaal bovenin de volgende declaratie:
Public sTemp As String
Als je een tekstvariabele wilt maken. Moet het een algemene variabele worden, verander String dan in Variant. Sla de module op (naam is niet belangrijk). Nu kun je op alle plaatsen in je db, dus bij alle formulieren en rapporten, een waarde toekennen aan de variabele.
Op je (nog) geopende formulier dus zo, bijvoorbeeld onder de knop waarmee je het formulier sluit:

Code:
sTemp=Me.Txt1.Value
DoCmd.Close acForm, Me.Form.Name

Vervolgens kun je de variabele op het tweede formulier weer uitlezen.
 
Octafish, wederom bedankt voor je tekst en uitleg.
Dit is wat ik zocht. Ik roep trouwens de variabele weer op met onderstaande code in formulier2 met form_activate().
Me.Txt2 = sTemp

Nogmaals dank!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan