Erreur d’exécution '13' : incompatibilité de Type (Vba Access)
Résolu
Nizar1969
-
Nizar1969 -
Nizar1969 -
Bonjour,
sur mon procédure je reçois cette Erreur
Erreur d’exécution '13' : incompatibilité de Type
Private Sub Form_Load()
Dim iSconnect As Boolean
iSconnect = IIf("nomUsser_G" <> "", True, False)
If (iSconnect = True) Then
hasAccess iduser_G, Me
Else
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "UL_Login"
End If
End Sub
j en sais rien d'ou se produit cette erreur
merci de votre aide
sur mon procédure je reçois cette Erreur
Erreur d’exécution '13' : incompatibilité de Type
Private Sub Form_Load()
Dim iSconnect As Boolean
iSconnect = IIf("nomUsser_G" <> "", True, False)
If (iSconnect = True) Then
hasAccess iduser_G, Me
Else
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "UL_Login"
End If
End Sub
j en sais rien d'ou se produit cette erreur
merci de votre aide
6 réponses
-
Bonjour,
1/ merci d'utiliser les balises de code quand tu postes.......... du code
https://www.commentcamarche.net/infos/25911-ccm-astuces-et-conseils-pour-la-redaction/#code
2/ sur quelle ligne survient l'erreur ?
Si c'est sur la ligne que tu as soulignée, qu'il y a t'il dans "nomUsser_G" (les " " ne sont-ils pas de trop) ?
Essaies en mettant un msgbox(nomUsser_G)
Aussi, pourquoi ne pas faire le test directement ainsi :if nomUsser_G<>"" then ...... else ....... end if
A+ -
Bonjour
Merci pour votre repense ,ensuit
par ce que j'ai déjà déclare ( hasAccess) dans une Module tel que
tel que'************* La Fonction hasAcces Management les Utilisateurs jobs Formulaires ******
Public Sub hasAccess(idUser As Integer, frm As Form)
Dim isConnect As Boolean
isConnect = IIf(nomUser_G = "", False, True)
If (isConnect = False) Then
DoCmd.Close acForm, frm.Name
DoCmd.OpenForm "UL_Login"
Else
Dim idRole As Integer
Dim acces, modif As Boolean
idRole = DLookup("idRole", "Users", "idUser=" & idUser)
acces = DLookup("Acces", "AccesForms", "idRole=" & idRole & " and FormName='" & frm.Name & "'")
modif = DLookup("Modif", "AccesForms", "idRole=" & idRole & " and FormName='" & frm.Name & "'")
If (acces = False) Then
Form_A_Menu.txtErreurAcces = " Vous n avez pas le droit d'acces au Formulair " & frm.Name
DoCmd.Close acForm, frm.Name
DoCmd.OpenForm "A_Menu"
Else
Form_A_Menu.txtErreurAcces = ""
Dim ct As Control
For Each ct In Forms(frm.Name)
If (ct.ControlType = 104) And ct.Name <> "btndisconnecte" And ct.Name <> "btnChercher" Then
ct.Enabled = modif '**** ce peut être True ou False
End If
Next
End If
End If
End Sub
Donc j ai applique la procéder
a toutes les formule de mon application , au Evénement Sur chargement : mais quand je Click sur n'apport qu'il bouton a partir de formulaire A_Menu
Private Sub Form_Load()
Dim iSconnect As Boolean
iSconnect = IIf("nomUsser_G" <> "", True, False)
If (iSconnect = True) Then
hasAccess iduser_G, Me
Else
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "UL_Login"
End If
End Sub
je reçois ce : Erreur d’exécution '13' : incompatibilité de Type
j'en sais si la procéder manque t elle d'une déclaration DAO
merci de votre aide-
bonjour,
à quelle ligne l'erreur se produit-elle?
as-tu bienoption explicit
en début de module?
merci d'utiliser "basic" quand tu partages du vba.
au lieu deisConnect = IIf(nomUser_G = "", False, True)
je pense plus clairisConnect = nomUser_G <> ""
et, au lieu deIf (iSconnect = True) Then
If iSconnect Then
et au lieu deIf (isConnect = False) Then
If not isConnect Then
-
-
-
Bonjour,
le module fonctionne ?
Dans le module tu asisConnect = IIf(nomUser_G = "", False, True)
alors que dans le load() tu asiSconnect = IIf("nomUsser_G" <> "", True, False)
(il y a des " " et un s en plus)
Donc où cela fonctionne t-il pas ?
Avant la ligne où il y a l'erreur mets un msgbox (nomuser_G ou nomUsser_G)...
A+ -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Aussi, pourquoi tu déclares ta variable isconnect au niveau du module et une seconde fois dans les évènements du form...
-
Bonjour
merci Beaucoup pour votre remarque
2- par ce que j' ai déclare Option Explicit
merci infiniment
mon problème était erreur orthographe
grâce a vous je m'éclairé