Erreur d’exécution '13' : incompatibilité de Type (Vba Access) [Résolu]

Signaler
-
 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

6 réponses

Messages postés
405
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
21 septembre 2020
28
Bonjour,

1/ merci d'utiliser les balises de code quand tu postes.......... du code
https://www.commentcamarche.net/faq/4622-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

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
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
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
Messages postés
12278
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 septembre 2020
694
bonjour,
à quelle ligne l'erreur se produit-elle?
as-tu bien
option explicit
en début de module?
merci d'utiliser "basic" quand tu partages du vba.
au lieu de
isConnect = IIf(nomUser_G = "", False, True)

je pense plus clair
isConnect = nomUser_G <> ""

et, au lieu de
If (iSconnect = True) Then

If iSconnect Then

et au lieu de
If (isConnect = False) Then

If not isConnect  Then
Bonjour
l'erreur ce produis au niveau
isConnect=iif(nomUser_G <> "",True,False)

merci
Messages postés
405
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
21 septembre 2020
28
Bonjour,
le module fonctionne ?
Dans le module tu as
isConnect = IIf(nomUser_G = "", False, True)


alors que dans le load() tu as
iSconnect = 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+
Messages postés
405
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
21 septembre 2020
28
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é
Messages postés
12278
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 septembre 2020
694
peux-tu alors marquer la discussion comme résolue?
>
Messages postés
12278
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 septembre 2020

Bonjour
merci
Ok