IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Erreur 91: Variable objet ou variable block with non définie [AC-2016]


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2019
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 234
    Points : 92
    Points
    92
    Par défaut Erreur 91: Variable objet ou variable block with non définie
    Bonsoir
    Nous avons cette fonction pour gérer les droits des utilisateurs. Mais quand nous voulons accéder à certains formulaires nous avons l'erreur 91: variable objet ou variable block with non définie. Le problème se situe à la ligne 22 du code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Public Sub hasAccess(User_id 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 ("F_login")
    Else
        Dim Role_id As Integer
        Dim acces, modif As Boolean
        Role_id = DLookup("Role_id", "T_Utilisateurs", "User_id=" & User_id)
        acces = DLookup("Acces", "T_AccesForm", "Role_id=" & Role_id & " and FormName='" & frm.Name & "'")
        modif = DLookup("modif", "T_AccesForm", "Role_id=" & Role_id & " and FormName='" & frm.Name & "'")
        If (acces = False) Then
            Form_F_Menu.TxtErrorAcces = "Vous n'avez pas accès au formulaire " & frm.Name
            DoCmd.OpenForm ("F_Menu")
     
        Else
            Form_F_Menu.TxtErrorAcces = ""
            Dim ct As Control
            For Each Control In Forms(frm.Name)
                If (ct.ControlType = 104) And ct.Name <> "CmdSeDeconnecter" Then
                    ct.Enabled = modif 'True/False
                End If
            Next Control
        End If
    End If
     
    End Sub
    djibysadji

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Je pense que le problème vient de là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each Control In Forms(frm.Name)
    et que la solution est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each Ct In frm.controls
    Comme frm est un form, il n'est pas nécessaire de repasser par la collection Forms pour y accéder, on peut l'utiliser directement.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2019
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 234
    Points : 92
    Points
    92
    Par défaut
    Bonsoir!
    Oui c'était cela le problème.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2016] erreur d'exécution 91 Variable Objet ou de bloc with non défini
    Par Floyd-44 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/12/2018, 17h28
  2. [XL-2010] [VBA] Variable objet ou variable bloc With non définie (erreur 91)
    Par yoyo3d dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/03/2018, 15h32
  3. [XL-2010] Excel - Objet Variable ou block With non défini
    Par Pefds dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/11/2015, 16h56
  4. Variable objet ou variable bloc with non définie
    Par tarbala dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/05/2008, 12h19
  5. Réponses: 13
    Dernier message: 01/06/2006, 17h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo