Probleme de variable Public sous Access 2010

Résolu
benpourquoi Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
benpourquoi Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
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 27131 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
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   Statut Membre Dernière intervention  
 
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 27131 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
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   Statut Membre Dernière intervention  
 
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 27131 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 27131 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
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   Statut Membre Dernière intervention  
 
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 27131 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
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   Statut Membre Dernière intervention  
 
j'ai fouillé partout pas de variable identique. De plus je tiens ma liste de variables à jour
Merci
0