En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour vous proposer des contenus et services adaptés. Mentions légales.

Forum - Questions sur Access - variable persistante dans VBA


 

clos par 3Stone le 13/05/2019 : 17:23  Sujet n° 833

le 11/05/2019 : 16:15
par Pedro

Anonyme

visiteur

Bonjour ça fait bien longtemps que je ne suis pas passé par ici...

dans mon application VBA-Access, j'ai fait une boucle pour assurer le rattachement ODBC vers une source externe.  La boucle fonctionne mais pour le mot de passe à utiliser, je n'arrive pas à le faire passe autrement qu'en l'inscrivant en clair dans le code.  Je cherche la solution qui m'apparaît simple mais je n'y arrive pas.

dans un module, j'ai une variable

public pwp as variant

et la sub suivante:

sub identite()     pwp = inputbox("c quoi le pwd") endsub

dans mon application, une des premières chose que je fais est de faire le Call identite(). Et là ça me demande le inputbox. j'entre une valeur et tout va bien.  J'observe aussi cette même valeur dans la fenêtre espion.  Cependant, je n'arrive pas à récupérer par la suite le contenu de ma variable pwp. Lorsque je le fais via le print.debug pwp j'ai un message d'erreur de nom ambigu et je ne comprend pas.

Ai-je la bonne manière ? merci de m'aider.

sujet clos Haut  
Réponse n° 1
--------
le 12/05/2019 : 12:55
par 3Stone

3Stone

Administrateur


Bonjour,

Citation : « Pedro »

dans un module, j'ai une variable

Module de classe ("sous" un formulaire) ou module général ?

Citation : « Pedro »

Cependant, je n'arrive pas à récupérer par la suite le contenu de ma variable pwp.

Pour être accessible de partout, il faut déclarer la variable dans un module général (donc pas dans un module d'un formulaire.

Citation : « Pedro »

Lorsque je le fais via le print.debug pwp j'ai un message d'erreur de nom ambigu

Cela arrive lorsque Access n'arrive pas à déterminer ce que tu lui demande...

Tu as probablement une fonction ou un module qui se nomme pwp.

On évite ce genre de problème en nomment de manière particulière ces éléments.

Par exemple, les fonctions seront préfixées par "fn" et on aura donc pour une fonction PWP : fnPWP.

Idem pour les modules généraux... que l'on nommera mod_PWD et qui pourra contenir une fonction fnPWP et un variable PWP. Il est bon aussi de faire de même pour les variables. Une variable texte pourra se nomme txtPrenom, les variables numériques intNombre, lngValeur, etc.

Un peu de rigueur et surtout de la méthode évite tout ces petits problèmes.

Cordialement,
Pierre (3Stone)

clos par 3Stone le 13/05/2019 : 17:23 Haut  
Réponse n° 2
--------
le 13/05/2019 : 14:47
par pedro

Anonyme

visiteur

merci je regarde cela aujourd'hui.  Je suis dans un module général…   reviendrai avec le résultat.

clos par 3Stone le 13/05/2019 : 17:23 Haut  
Réponse n° 3
--------
le 13/05/2019 : 16:13
par Pedro

Anonyme

visiteur

dossier réglé (j'avais la même déclaration de PWP dans un module baptisé "test" (ou modTest) qui m'était passé sous le nez. 

clos par 3Stone le 13/05/2019 : 17:23 Haut  
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message
Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter  
Catégories de discussion  Forum  



Vous êtes ici :   Accueil » Forum » Questions sur Access » variable persistante dans VBA