Probleme de variable Public sous Access 2010

Résolu/Fermé
benpourquoi Messages postés 9 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 31 août 2011 - 24 août 2011 à 07:40
benpourquoi Messages postés 9 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 31 août 2011 - 24 août 2011 à 16:42
Bonjour,

Avant tout merci à ceux qui m'aideront

J'ai déclaré une variable public dans un module :

Option Compare Database
Option Explicit

Public TypeUtilisateur As String

Ensuite j'ouvre un formulaire :F_Revendeurs

Dans ma procedure FormLoad j'ai ceci :

If TypeUtilisateur <> "Agent" Then
Me.Modifiable53.Enabled = True
Else
Me.Modifiable53.Enabled = False
End If

A la ligne if TypeUtilisateur <> "Agent" Then
J'ai le message d'erreur "Erreur d'execution 5 (Argument ou appel de procedure incorrect)

et la je seche
Merci d'avance pour votre aide
A voir également:

8 réponses

blux Messages postés 26534 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
24 août 2011 à 11:43
Salut,

et si tu fais un msgbox TypeUtilisateur avant ton test, tu as quoi à l'affichage ?

Se pourrait-il que la variable ne contienne rien ?
0
benpourquoi Messages postés 9 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 31 août 2011
24 août 2011 à 12:00
Bonjour et merci de me repondre ,
Oui j'ai mis un msgbox et j'ai bien ma valeur
Merci a toi
0
blux Messages postés 26534 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
24 août 2011 à 12:50
Alors là, je ne vois pas du tout...
Ta variable n'est pas dans une fonction ?
Tu as essayé de supprimer la ligne et de la retaper ?
Si tu déclares une variable locale d'un autre nom que tu remplis, as-tu le même message en faisant le même test ?
0
benpourquoi Messages postés 9 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 31 août 2011
24 août 2011 à 14:16
Merci beaucoup pour ta réactivité

Ma variable n'est pas dans une fonction
j'ai du supprimer la ligne je ne sais combien de fois
J'ai fais ce que tu m'as demandé à savoir affecté ma variable public dans une variable locale.

Une Question : Je suis allé un peu trop vite dans mon premier message :

En fin de compte mon Form F_Revendeurs est une Sous-Form d'un formulaire F_General qui lui comporte des onglets dont un contient le Form F_Revendeurs.

J'ai mis un curseur dans ma procédure Form Load de F_General avec ceci :

Private Sub Form_Load()

If TypeUtilisateur = "Agent" Then

Me!Onglets.Pages(0).Visible = True
Me!Onglets.Pages(1).Visible = False
Me!Onglets.Pages(2).Visible = True
Me!Onglets.Pages(3).Visible = False
Me!Onglets.Pages(4).Visible = False
Me!Onglets.Pages(5).Visible = False
Else
Me!Onglets.Pages(0).Visible = True
Me!Onglets.Pages(1).Visible = True
Me!Onglets.Pages(2).Visible = True
Me!Onglets.Pages(3).Visible = True
Me!Onglets.Pages(4).Visible = True
Me!Onglets.Pages(5).Visible = True
End If

End Sub

Mais l'application ne passe pas par F_General mais directement par F_Revendeurs .

Y a t-il un lien vace mon bug.
D'avance je te remercie
0
blux Messages postés 26534 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
24 août 2011 à 14:31
Je ne vois pas pourquoi il y aurait un lien...

As-tu essayé :

If TypeUtilisateur = "Agent" Then
    msgbox TypeUtilisateur
else
    msgbox TypeUtilisateur
End If


Qu'on essaye de trouver ce qui cloche...
0
benpourquoi Messages postés 9 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 31 août 2011
24 août 2011 à 14:37
Meme mess d'erreur à la ligne : If TypeUtilisateur = "Agent" Then

C'est délirant
Ce que je ne comprends pas c'est que mon Form F_Utilisateurs appelle mon Form F_General de cette facon et qui contient mon sous Form F_Revendeurs :

TypeUtilisateur = [Type Util]

stFormName = "F_General"
stLinkCriteria = ""

DoCmd.Close acForm, "F_Utilisateurs"
DoCmd.OpenForm stFormName, , , stLinkCriteria

Mais il ne passe pas par mon Form F_General

Mereci de ton devouement
0

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

Posez votre question
benpourquoi Messages postés 9 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 31 août 2011
24 août 2011 à 14:44
une derniere chose , si je lance mon Form F_Revendeurs directement et donc ma variable public = "" le test ne plante pas !!!!
Merci
0
benpourquoi Messages postés 9 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 31 août 2011
24 août 2011 à 16:04
Blux,
J'ai changé ma variable Public de String en Integer et ca marche nickel
C'est à ne rien comprendre.
En tout cas je tenais à te remercier de ton aide
Merci
0
blux Messages postés 26534 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
24 août 2011 à 16:15
Comment peux-tu tester qu'un integer contient une valeur de chaine ?
Au pire, mets-lui le type 'variant', tu n'auras plus de soucis à te faire pour ça...
0
benpourquoi Messages postés 9 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 31 août 2011
24 août 2011 à 16:20
Encore une fois j'ai parlé trop vite : j'ai passé ma variable en integer mais du coup je teste soit la valeur 1 pour "Admin", 2 pour "collaborateur", 3 pour Agent et ca marche"
Merci pour tout
0
blux Messages postés 26534 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
24 août 2011 à 16:33
Une question : n'existe-t-il pas un autre endroit où cette variable est également définie ?
Ce qui pourrait expliquer qu'on teste une variable définie localement alors qu'on croit adresser la variable publique.
0
benpourquoi Messages postés 9 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 31 août 2011
24 août 2011 à 16:42
j'ai fouillé partout pas de variable identique. De plus je tiens ma liste de variables à jour
Merci
0