OVH Cloud OVH Cloud

Communication entre formulaires

3 réponses
Avatar
Logoff
Une question certainement basique, mais qui me bloque (et m'agace un peu ...)
: comment partager une variable entre 2 formulaires ? Exemple :

frm A :

Public MyVar As Integer
Private Sub Init()
Myvar = 5
End Sub


frm B : (dans lequel je voudrais bien récupérer MyVar avec sa valeur 5) :

Public MyVar As Integer
Private Sub Test()
MsgBox Myvar
End Sub

Résultat : j'obtiens 0
Quelqu'un peut-il me dire ou est l'erreur ?

Merci

3 réponses

Avatar
3stone
Salut,

"Logoff"
| : comment partager une variable entre 2 formulaires ? Exemple :
|
| frm A :
|
| Public MyVar As Integer
| Private Sub Init()
| Myvar = 5
| End Sub
|
|
| frm B : (dans lequel je voudrais bien récupérer MyVar avec sa valeur 5) :
|
| Public MyVar As Integer
| Private Sub Test()
| MsgBox Myvar
| End Sub
|
| Résultat : j'obtiens 0
| Quelqu'un peut-il me dire ou est l'erreur ?



Oui... dans ta déclaration de la variable !

Déclarée dans un formulaire (plutôt dans un module de formulaire)
elle ne sera connue que par ce formulaire...
Pour quelle soit réellement "Public" ou "Globale", il faut la déclarer
(une seule fois ;-) dans un module général (onglet module)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Logoff
Ca marche.
Merci pour ton aide
Avatar
Maël REBOUX
Depuis que j'ai compris ce que veut dire "portée des déclarations des
variables", je fais toujours un module "Declaration" dans lequel je déclare
toutes les variables globales dont j'ai besoin à tout moment : identifiants,
nom utilisteur, noms de tables, de recordset.
J'y met aussi une fonction publique "Initialisation" qui est lancée au
démarrage de la base et qui initialise justement un certain nombre de ces
variables globales pour que la base fonctionne.



"Logoff" a écrit dans le message de news:

Une question certainement basique, mais qui me bloque (et m'agace un peu
...)
: comment partager une variable entre 2 formulaires ? Exemple :

frm A :

Public MyVar As Integer
Private Sub Init()
Myvar = 5
End Sub


frm B : (dans lequel je voudrais bien récupérer MyVar avec sa valeur 5) :

Public MyVar As Integer
Private Sub Test()
MsgBox Myvar
End Sub

Résultat : j'obtiens 0
Quelqu'un peut-il me dire ou est l'erreur ?

Merci