Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/02/2008, 19h23   #1
Membre du Club
 
Inscription : mai 2006
Messages : 79
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 79
Points : 57
Points : 57
Par défaut 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
Serge57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2008, 10h31   #2
Membre Expert
 
Avatar de curt
 
Homme Curt
Bureau d'Etudes
Inscription : mars 2006
Messages : 983
Détails du profil
Informations personnelles :
Nom : Homme Curt
Localisation : France

Informations professionnelles :
Activité : Bureau d'Etudes
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : mars 2006
Messages : 983
Points : 1 172
Points : 1 172
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
curt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2008, 19h15   #3
Membre Expert
 
Avatar de curt
 
Homme Curt
Bureau d'Etudes
Inscription : mars 2006
Messages : 983
Détails du profil
Informations personnelles :
Nom : Homme Curt
Localisation : France

Informations professionnelles :
Activité : Bureau d'Etudes
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : mars 2006
Messages : 983
Points : 1 172
Points : 1 172
Bonsoir à tous,

en passant en revue les sauvegardes, je m'aperçois que l'erreur est apparue depuis que j'ai inséré les tests de présence d'unité réseau, dossier et fichier récupéré ici

[http://access.developpez.com/faq/?pa...existFunction]

Pourtant, pas de soucis pour le fonctionnement sur un poste où Access (2003) est installé. Seul le fonctionnement en runtime affiche l'erreur de code. (j'ai vérifié la présence de la référence requise, le code....)

J'ai supprimé toute la partie test de lecteur (dommage, c'était pratique) et tout fonctionne de nouveau correctement.

Quelqu'un a une idée ???

Bonne soirée.
Curt
curt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2008, 19h32   #4
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 482
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 482
Points : 7 577
Points : 7 577
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 :
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.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2008, 23h32   #5
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 941
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 941
Points : 6 283
Points : 6 283
Bonsoir,

il y a un petit bug
Code :
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 :
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+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h37.


 
 
 
 
Partenaires

Hébergement Web