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

Résolu
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

  1. 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+
    1. 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
      1. Contributeur
        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
    2. Bonjour
      l'erreur ce produis au niveau
      isConnect=iif(nomUser_G <> "",True,False)

      merci
      1. 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+
        1. Aussi, pourquoi tu déclares ta variable isconnect au niveau du module et une seconde fois dans les évènements du form...
          1. 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é
            1. Contributeur
              peux-tu alors marquer la discussion comme résolue?