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 d'execution sur fichier .mde


Sujet :

Access

  1. #1
    Membre du Club
    Erreur d'execution sur fichier .mde
    Bonjour,

    Ma base frontale « SuiviAffaire.mde » ne fonctionne pas sur certains PC de l’entreprise.
    Erreur sur la macro « Autoexec » qui exécute un code VBA.
    1ère interrogation – il me manque une bibliothèque ou autre dll sur les PC récalcitrant ?
    Pas moyen de voir quelle dll est manquante dans un fichier mde ?
    1-je recopie le code source « gestion.mdb » sur ce PC, alt F11, outils, références ET bizarre aucune référence ne manque.
    2-Je compile ma base mdb en mde mais cette fois ci sur le poste récalcitrant ET, tout fonctionne correctement.

    Configuration Identiques de tous les PC.
    Windows XP SP2
    Office 2003 SP3

    Existe-il une méthode (ou un outil) pour pouvoir débugger un fichier mde ?
    Ou du moins cerner le problème sur ce fichier ?
    Vers quelle direction diriger mes recherches ?

    Le problème est survenu depuis que j’ai effectué la mise à jour d’office 2003 en SP3.

    Merci d’avance

  2. #2
    Membre chevronné
    Bonjour Serge57 et bonjour à tous,

    j'allais déposer le même (ou quasiment) post.

    La base fonctionne nickel sur mon PC (avec Access 2003). Après passage en .mde, j'ai une erreur de macro qui exécute du code annonçant une erreur de code... Pourtant, sur le fichier .mdb, il n'y a aucune erreur !!!

    Si quelqu'un a une idée, on est déjà 2 à être intéressés !!!

    Bonne journée à tous.

    Curt
    Pas de demande par MP, sinon j'correctionne plus, j'dynamite, j'disperse, j'ventile !!!
    ---------------------------------------------------------------------
    Vous avez un talent insoupçonné... Faites-en profitez les autres. Un p'tit CLIC pour une grande cause.
    Et si vous faisiez un bon geste en 2020 ? Soyez utile, ça vous changera ! Moi, ça m’a changé !

  3. #3
    Membre chevronné
    Ce message n'a pas pu être affiché car il comporte des erreurs.
    Pas de demande par MP, sinon j'correctionne plus, j'dynamite, j'disperse, j'ventile !!!
    ---------------------------------------------------------------------
    Vous avez un talent insoupçonné... Faites-en profitez les autres. Un p'tit CLIC pour une grande cause.
    Et si vous faisiez un bon geste en 2020 ? Soyez utile, ça vous changera ! Moi, ça m’a changé !

  4. #4
    Modérateur

    Peut-être est-ce l'objet FileSystemObject qui pose un pb.

    Pour afficher les reférences d'une appli on peut utiliser le code suivant.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    private sub AfficherRef()
      dim r a reference
      for each r in application.references
        r.name, r.fullpath
      next r
    end sub


    À adapter selon les besoins.

    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.

  5. #5
    Expert éminent
    Bonsoir,

    il y a un petit bug
    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
     'Vérifier l'existence d'un fichier(par ex avant de l'ouvrir..)
    Function VerifierExistenceFichier(ByVal Mondossier, ByVal MonFichier) As Boolean
        Dim ObjFSO, ListRepertoires, ListSousRep, ListFichiers, MonRep, LesReps, MonFich, LesFichs
        Set ObjFSO = CreateObject("Scripting.FileSystemObject")
        VerifierExistenceFichier = False
        Set ListRepertoires = ObjFSO.GetFolder(Mondossier)
        Set ListSousRep = ListRepertoires.SubFolders
        For Each MonRep In ListSousRep
                Set ListFichiers = MonRep.Files
                For Each MonFich In ListFichiers
                    If MonFich.Name = MonFichier Then
                        'trouvé
                        VerifierExistenceFichier = True
                        End
                    End If
                Next MonFich
        Next MonRep
    End Function
    Le End est en trop.

    Par ailleurs si MonDossier est la racine d'une partition (E:\, D:\, ...), un des sous-dossiers est "System Volume Information" (sous XP par exemple).
    Mais on ne peut pas le parcourir (accès refusé).

    J'ai ajouté un test pour exclure les dossiers systèmes
    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
    ' Vérifier l'existence d'un fichier(par ex avant de l'ouvrir..)
    Function VerifierExistenceFichier(ByVal Mondossier, ByVal MonFichier) As Boolean
        Dim ObjFSO, ListRepertoires, ListSousRep, ListFichiers, MonRep, LesReps, MonFich, LesFichs
        Set ObjFSO = CreateObject("Scripting.FileSystemObject")
        VerifierExistenceFichier = False
        Set ListRepertoires = ObjFSO.GetFolder(Mondossier)
        Set ListSousRep = ListRepertoires.SubFolders
        For Each MonRep In ListSousRep
            If (MonRep.Attributes And 4) <> 4 Then
                Debug.Print MonRep.Name, MonRep.Attributes
                Set ListFichiers = MonRep.Files
                For Each MonFich In ListFichiers
                    If MonFich.Name = MonFichier Then
                        'trouvé
                        VerifierExistenceFichier = True
                    End If
                Next MonFich
            End If
        Next MonRep
    End Function
    A+