Probleme de varaible ACCES

cs_shaka17 Messages postés 9 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 13 mars 2008 - 6 nov. 2007 à 20:59
cs_shaka17 Messages postés 9 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 13 mars 2008 - 7 nov. 2007 à 18:48
bonjour,

j'ai un problème avec des variables public dans ACCESS.

voila, j'ai une variable "Pays_S" déclaré comme variable PUBLIC dans un formulaire. Dans ce formulaire je n'ai pas de problème j'arrive a utiliser la variable dans toutes les SUB du FORM.
cependant ce formulaire me sert a faire une sélection a l'aide de cette variable pour ouvrir un autre formulaire.

Le problème est le suivant, il faut que récupère le valeur de "Pays_S" dans le formulaire que j'ouvre pour faire une gestion ... lorsque je tape "Pays_S" dans mon code du deuxième formulaire il me reconnait la variable, mais elle est "Vide".

Comment faire pour faire conserver la valeur de la variable?

Merci d'avance

10 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
6 nov. 2007 à 21:20
Salut,

Déclares ta variable dans un module(.bas) et cela devrait fonctionner...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_shaka17 Messages postés 9 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 13 mars 2008
7 nov. 2007 à 09:00
merci beaucoup de l'information ca marche super!!

juste une précision, si je tape du code dans un module et que je veux réutiliser le module dans plusieurs formulaire comment faut il l'écrire dans le formulaire

exemple je crée un module (.bas) RECHERCHE qui serait une fonction récurente qu'il faut que j'utilise dans du code de plusieurs formulaires. comment utiliser le module?
faut il juste taper le nom du module dans la SUB du formulaire?

merci encore!
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
7 nov. 2007 à 09:20
Salut,

Idem....Si tu fais une fonction ou une sub récurente, et que tu souhaites l'utiliser dans plusieurs formulaire, tu la déclare en public..sinon tu la déclares en Private et elle ne sera utiliser que dans ton module et ou formulaire...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_shaka17 Messages postés 9 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 13 mars 2008
7 nov. 2007 à 10:31
Merci ca marche!

J'ai mis mon code récurrent dans un module "X" et dans une SUB de ce module "Sub_X" et j'appel "Sub_X" dans mes formulaires. Hors dans "Sub_X" je gère des champs qui sont commun aux formulaires.

Le problème c'est qu'il ne me reconnait pas les champs des formulaires qui utilisent "Sub_X". Je pensais que les modules était indépendant et que le fait de les appeller dans un formulaire suffisait pour faire le lien avec les formulaires!

Comment faire pour dire a "Sub_X" de prendre en compte le formulaire "Form_Y" qui fait appel a "Sub_X"

En effet dans "Sub_X" je gère par exemple le champ PAYS présent dans "Form_Y"

exemple dans "Sub_X":
Public Sub Sub_X()
If [PAYS] = "France" Then
......
End sub

et dans "Form_Y":
Private Sub Form_Current()
    Sub_X
End Sub
 Mais si je fais que ça il me dit "PAYS" inconnu, je pense qu'il faut mettre une variable ou fair une déclaration pour dire a "Sub_X" dans quel formulaire il faut qu'il prenne les infos...
Peux tu m'aider?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
7 nov. 2007 à 14:10
salut,

il faut passer un argument

exemple dans "Sub_X":
Public Sub Sub_X(byval sValue as string)
If sValue = "France" Then
......
End sub

et dans "Form_Y":
Private Sub Form_Current()
    Sub_X [PAYS]
End Sub

++
<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_shaka17 Messages postés 9 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 13 mars 2008
7 nov. 2007 à 14:24
merci de l'info, je vais essayer!
0
cs_shaka17 Messages postés 9 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 13 mars 2008
7 nov. 2007 à 15:02
je viens d'essayer et je viens de m'apercevoir que je me suis un peu planté dans ma question!! DESOLE...

mais vous m'avez permis d'avancer quand même.

je reformule ma question:

exemple dans "Sub_X":
Public Sub Sub_X(byval FormValue as string)
    Forms.[" & FormValue & "].[Série].Visible = False
......
End sub

ou "FormValue" sert de nom de Formulaire et "Série" est le nom du champ conserné

et dans "Form_Y":
Private Sub Form_Current()
    Sub_X [Form_Y]
End Sub

le but étant de cacher le champ "Série" du fomulaire "Form_Y" ou autres a partir de Sub_X.
le problème est que dans "Sub_X" je n'arrive pas a trouver la synthaxe pour la ligne en rouge. Je ne comprend pas si je tape :
Forms.[Form_Y].[Série].Visible = False
ca marche

pouvez vous m'aider?

merci encore de votre aide!
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
7 nov. 2007 à 15:06
Salut,

Je serais tenté de faire(pas testé) :

Public Sub Sub_X(MyForm As Form, MyCtrl as Object)

    MyForm.MyCtrl.visible = False
......
End sub

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
7 nov. 2007 à 15:27
explo
(salut ) -> un objet a déjà un parent, donc pas de FORM_VARIABLE.CONTRÔLE_VARIABLE

on passe directement et uniquement CONTRÔLE_VARIABLE

de plus c'est du VBA donc type userform normalement, pas form
(à vérifier)

saka17 -> tu as là toutes les cartes en main avec les réponses apportées. te reste à faire des tests ;)
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_shaka17 Messages postés 9 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 13 mars 2008
7 nov. 2007 à 18:48
merci beaucoup de votre aide, aprés adaptation ca marche super!

@+
0
Rejoignez-nous