Comment faire pour résoudre des problèmes de référence dans une base de données Access

Traductions disponibles Traductions disponibles
Numéro d'article: 310803 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article explique des problèmes qui concernent l'utilisation de références dans une base de données Access.

Pour comprendre les erreurs de référence, il faut comprendre à la fois comment les bibliothèques sont référencées dans une base de données Access et ce qui est nécessaire pour installer une base de données sur un ordinateur cible sans casser ces références. Cet article est un résumé des rubriques suivantes :
  • Consultation des références de base de données Access
  • Résolution de références Microsoft Visual Basic pour Applications dans Access
  • Comprendre les messages d'erreur de référence
  • Résolution des problèmes de référence sur l'ordinateur de développement
  • Distribution des fichiers de base de données
  • Mise à jour de la liste de références
  • Distribution des fichiers de base de données ayant des contrôles ActiveX
  • Réenregistrement d'un fichier

Plus d'informations

Consultation des références de base de données Access

Pour consulter les références de base de données actuelles :
  1. Ouvrez la base de données.
  2. Appuyez sur ALT+F11 pour démarrer Visual Basic Editor.
  3. Dans le menu Outils, cliquez sur Références.

Résolution de références Visual Basic dans Access

Access charge le fichier pertinent (par exemple, une bibliothèque de types, une bibliothèque d'objets ou une bibliothèque de contrôles) pour chaque référence, d'après les informations qui sont affichées dans la zone Références. Si Access ne peut pas trouver le fichier, il exécute les procédures suivantes pour le localiser :
  1. Access s'assure que le fichier référencé est actuellement chargé en mémoire.
  2. Si ça n'est pas le cas, Access tente de vérifier que la clé de Registre RefLibPaths existe. Si elle existe, Access recherche une valeur nommée ayant le même nom que la référence. En cas de correspondance, Access charge la référence à partir du chemin d'accès vers laquelle pointe la valeur nommée.
  3. Access recherche ensuite le fichier référencé dans les emplacements suivants et dans l'ordre indiqué :
    1. le dossier d'application (l'emplacement du fichier Msaccess.exe) ;
    2. le dossier actif que vous voyez si vous cliquez sur Ouvrir dans le menu Fichier ;
    3. le dossier Windows ou Winnt où s'exécutent les fichiers du système d'exploitation ;
    4. le dossier système sous le dossier Windows ou Winnt ;
    5. les dossiers dans la variable d'environnement PATH qui sont directement accessibles par le système d'exploitation.
  4. Si Access ne peut pas trouver le fichier, une erreur de référence se produit.Pour plus d'informations sur la façon dont Access résout les références Visual Basic, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft.
    248941 ACC2000 : Comment Access 2000 résout des références Visual Basic pour applications

Comprendre les messages d'erreur de référence

Il existe plusieurs messages d'erreur liés à un fichier manquant ou à un fichier ayant une version différente de celle qui est utilisée dans la base de données. Dans la plupart des cas, vous pouvez rechercher dans la Base de connaissances Microsoft un article sur un message d'erreur spécifique, et vous pouvez ensuite résoudre l'erreur en suivant les étapes données dans l'article. Dans quelques cas, un fichier de dépendance n'est pas correctement associé au fichier primaire.

La liste suivante décrit quelques-uns des messages d'erreur de référence que vous pouvez recevoir. Toutefois, notez que la liste n'inclut pas tous les messages d'erreur de référence possibles.
  • « La méthode nom_méthode de l'objet nom_objeta échoué »

    En général, vous pouvez recevoir ce message d'erreur s'il existe un problème avec une bibliothèque de types de programmation, par exemple, un fichier de DLL de DAO non valide. Vous pouvez rechercher dans la Base de connaissances Microsoft des articles qui expliquent les diverses formes de ce message d'erreur.
  • « Fonction non disponible dans l'expression Usage »

    Vous pouvez recevoir ce message d'erreur en cas de problème avec une bibliothèque de types de programmation, ou si le code n'appelle pas spécifiquement la bibliothèque correcte et le fichier est répertorié à une priorité plus faible dans la liste de références qu'un fichier qui contient le même nom de fonction (par exemple, si le code DAO est utilisé avec la bibliothèque ADO listée à une priorité plus élevée que la bibliothèque DAO). Vous pouvez recevoir également ce message d'erreur si un formulaire ou un rapport contient un contrôle ActiveX.
  • « Projet ou bibliothèque introuvable »

    Vous pouvez recevoir ce message d'erreur si Access ne peut pas localiser de fichier dans la liste de références. Souvent, le fichier est signalé comme Manquant dans la boîte de dialogue Références. Quelquefois le fichier existe sur l'ordinateur de développement mais pas sur l'ordinateur cible. Pour plus d'informations sur cette erreur, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
    208218 ACC2000 : Échec des fonctions VBA dans une base de données avec des références manquantes
  • « Variable non définie » ou « Type défini par l'utilisateur non défini »

    Vous pouvez recevoir l'un de ces messages d'erreur si vous utilisez l'Assistant Sécurité au niveau de l'utilisateur pour sécuriser une base de données qui référence des bibliothèques autres que les bibliothèques incluses par défaut. Par exemple, les références aux bibliothèques qui ont existé dans la base de données non sécurisée ne sont pas créées automatiquement dans la nouvelle base de données sécurisée.
  • « Erreur d'exécution 5 », « Argument ou appel de procédure non valide », « La bibliothèque qui contient ce symbole n'est pas référencée dans le projet en cours », ou « La bibliothèque qui contient ce symbole n'est pas référencée dans le projet en cours ; le symbole est donc indéfini ».

    Vous pouvez recevoir l'un de ces messages d'erreur s'il y a une référence à une base de données, une bibliothèque de types ou une bibliothèque d'objets qui est signalée comme Manquante. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
    231413 ACC2000 : Messages d'erreur qui indiquent une référence manquante
  • « Le composant ActiveX ne peut pas créer l'objet »

    Ce message d'erreur ne signifie pas nécessairement qu'un contrôle ActiveX est impliqué. Par exemple, une cause possible est que DAO, qui est un composant ActiveX, ne peut pas créer d'objet parce que le serveur d'automation de DAO ne peut pas démarrer. Cela vient souvent du fait que les DLL qui assurent les fonctionnalités référencées pour le programme ne sont pas enregistrées ou sont enregistrées incorrectement.Pour plus d'informations sur cette erreur, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
    244264 INFO : Résolution de l'erreur 429 lors de l'automatisation des applications Office
    Bien que cet article soit écrit du point de vue de Visual Basic, il couvre de nombreuses causes pour cette erreur.

Résolution de problèmes de référence sur l'ordinateur de développement

La création d'une nouvelle base de données vierge puis l'importation d'objets à partir d'un autre fichier de base de données peut créer des problèmes de référence si le code ou les contrôles ActiveX s'appuient sur des références qui ne sont pas incluses par défaut dans une base de données. Les références par défaut pour une base de données Access 2000 sont :
  • Visual Basic pour Applications
  • Bibliothèque d'objets Microsoft Access 9.0
  • OLE Automation
  • Microsoft ActiveX Data Objects (ADO) 2.1 Library
Si la source est une autre base de données Access 2000, vérifiez que les références correspondent. Si la source est dans une version antérieure d'Access, DAO 3.5 ou version antérieure est probablement en cours d'utilisation ; toutefois, Access 2000 ne fournit pas DAO 3.5 par défaut. Essayez de supprimer la référence à la bibliothèque ADO 2.1 (le cas échéant) et d'ajouter la référence à la bibliothèque d'objets de DAO 3.6.

Si vous avez converti la base de données à partir d'une version antérieure d'Accès et que la base de données contient une référence au fichier Utility.mda, dans la plupart des cas vous pouvez supprimer cette référence parce que les fonctions auxquelles cette référence fait appel sont incluses dans les références par défaut d'Access 2000. S'il existe des références aux versions antérieures de DAO, vous pouvez également supprimer ces références parce que DAO 3.6 peut traiter ces fonctions.

Pour ajouter une référence à une bibliothèque :
  1. Ouvrez la base de données.
  2. Appuyez sur ALT+F11 pour démarrer Visual Basic Editor.
  3. Dans le menu Outils, cliquez sur Références.
  4. Sous Références disponibles, cliquez pour activer la case à cocher à côté du nom de la bibliothèque, puis cliquez sur OK.
Pour supprimer une référence d'une bibliothèque :
  1. Ouvrez la base de données.
  2. Appuyez sur ALT+F11 pour démarrer Visual Basic Editor.
  3. Dans le menu Outils, cliquez sur Références.
  4. Sous Références disponibles, cliquez pour désactiver la case à cocher à côté du nom de la bibliothèque, puis cliquez sur OK.

Distribution de fichiers de base de données

Il existe deux méthodes de base pour la distribution des fichiers d'une base de données. Vous pouvez copier le fichier à partir de l'ordinateur de développement vers l'ordinateur cible, ou vous pouvez utiliser l'Assistant Empaquetage et déploiement pour créer un package d'installation.

Si vous copiez le fichier de l'ordinateur de développement vers l'ordinateur cible, seul le fichier de base de données est copié. Vous devez vérifier manuellement que tous les fichiers qui sont répertoriés dans la liste de références sont disponibles, au niveau de version correct et dans le même emplacement relatif sur l'ordinateur cible que sur l'ordinateur de développement.

Si vous utilisez l'Assistant Empaquetage et déploiement pour créer un package d'installation, faites référence à l'article de Base de connaissances qui sert de liste de contrôle pour développer des applications d'exécution dans Access. Pour plus d'informations sur la liste de contrôle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant de la Base de connaissances Microsoft :
247530 MOD2000 : Comment faire pour éviter des erreurs communes lorsque vous créez des applications d'exécution distribuables
Lorsque vous développez des applications d'exécution dans Access, soyez conscient que certains fichiers du système d'exploitation doivent être distribués avec l'application d'exécution. L'empaquetage de ces fichiers est réalisé automatiquement par l'Assistant Empaquetage et déploiement de Microsoft Office 2000 Developer. Quelquefois les versions des fichiers qui sont inclus dépendent d'autres applications qui sont installées sur l'ordinateur de développement et qui ont pu modifier les fichiers du système d'exploitation.

Le suivi de certaines indications garantira habituellement que les versions des fichiers que vous utilisez ne seront pas en conflit avec les fichiers sur l'ordinateur cible lorsque vous installez l'application d'exécution. Voici les indications :
  1. Développez la base de données Access sur tout ordinateur.
  2. Créez un environnement d'ordinateur où le disque dur a été reformaté et où seule la dernière version du système d'exploitation applicable, d'Office et d'Office 2000 Developer est installée. Exécutez l'Assistant Empaquetage et déploiement sur cet ordinateur pour créer la version exécutable de l'application. Cela garantit que les niveaux de révision des fichiers fonctionneront sur chacun des ordinateurs cibles.
  3. Créez un environnement d'ordinateur où le disque dur a été reformaté et où seul le système d'exploitation est installé. Testez l'application d'exécution dans cet environnement.
    • Si l'application ne s'exécute pas correctement, vous savez qu'il y a quelque chose qui ne va pas dans l'application elle-même. Vous devez identifier et résoudre le problème avant de distribuer l'application.
    • Si l'application fonctionne avec succès sur l'ordinateur test mais pas sur l'ordinateur cible, vous savez qu'il y a quelque chose d'incorrect sur l'ordinateur cible plutôt que dans l'application. Vous devez identifier et corriger la cause probable sur l'ordinateur cible, probablement une incompatibilité ou un fichier corrompu.

Actualisation de la liste de références

Si le problème de référence implique un contrôle ActiveX, vous pouvez parfois résoudre le problème en actualisant la liste de références. Pour actualiser la liste de références :
  1. Dans Visual Basic Editor, cliquez sur Références dans le menu Outils.
  2. Dans la boîte de dialogue Références, sélectionnez une référence qui ne l'est pas déjà, notez celle que vous sélectionnez, puis cliquez sur OK.
  3. Dans le menu Outils, cliquez une nouvelle fois sur Références.
  4. Cliquez pour annuler le choix de la référence, puis cliquez sur OK.

Distribution des fichiers de base de données qui ont des contrôles ActiveX

Il existe deux types de licences pour les contrôles ActiveX : une licence de conception et une licence d'exécution.
  • Une licence de conception vous permet d'insérer des contrôles ActiveX autorisés à partir d'Office 2000 Developer dans les formulaires et rapports d'une base de données Access.
  • Une licence d'exécution vous permet d'utiliser les contrôles ActiveX dans une base de données Access sur un ordinateur sur lequel Office 2000 Developer n'est pas installé, mais une licence d'exécution ne vous permet pas d'insérer de nouveaux contrôles ActiveX sous licence. Pour installer une licence d'exécution, distribuez les contrôles ActiveX en utilisant l'Assistant Empaquetage et déploiement qui écrit la licence pour les contrôles dans le Registre de l'ordinateur cible.
Un indicateur Manquant que vous pouvez voir quand vous ouvrez un module en mode conception puis cliquez sur Références dans le menu Outils, indique que la référence au contrôle Common Dialog sur l'ordinateur cible ne correspond pas à la source dans le fichier de base de données de l'ordinateur de développement.

Si vous distribuez un fichier de base de données sans installer le contrôle Common Dialog distribuable, la référence du contrôle peut être signalée comme Manquante, ou vous pouvez recevoir un message d'erreur « Vous ne possédez pas la licence requise pour l'utilisation de ce contrôle ActiveX » si le contrôle non distribuable est déjà installé sur l'ordinateur cible.

Même lorsque le fichier de base de données fait partie d'une application d'exécution, vous pouvez recevoir le message d'erreur indiquant que « Vous ne possédez pas la licence requise pour l'utilisation de ce contrôle ActiveX » si la version du contrôle non distribuable qui est déjà installé sur l'ordinateur cible est ultérieure à celle du contrôle qui est fourni par votre application d'exécution. Ce problème peut se produire parce que le programme d'installation ne remplace pas les versions ultérieures d'un fichier par une version antérieure du même fichier.

Réenregistrement d'un fichier

Il est possible pour un fichier d'être dans la liste de références sans être enregistré correctement dans le Registre. Si vous soupçonnez que cela peut être le cas, suivez ces étapes pour réenregistrer le fichier :
  1. Dans Microsoft Windows NT 4.0, cliquez sur Démarrer, pointez sur Rechercher, puis cliquez sur Fichiers ou Dossiers, ou dans Windows 2000, cliquez sur Démarrer, pointez sur Rechercher, puis cliquez Des fichiers ou des dossiers.
  2. Dans la zone Nommé, ou Rechercher les fichiers ou les dossiers nommés, tapez regsvr32.exe.
  3. Dans la zone Rechercher dans, cliquez sur la racine du disque dur (en général C:).
  4. Activez la case à cocher Inclure les sous-dossiers si ce n'est pas déjà fait, puis cliquez sur Rechercher maintenant.
  5. Une fois que vous avez trouvé le fichier, cliquez sur Démarrer, sur Exécuter, puis supprimer tout ce qui se trouve dans la zone Ouvrir.
  6. Faites glisser le fichier Regsvr32.exe du volet de résultats de la recherche vers la zone Ouvrir.
  7. Répétez les étapes 2 à 6, cette fois en recherchant nom_fichier.dll, où nom_fichier correspond au nom du fichier que vous souhaitez réenregistrer.
  8. Une fois que le fichier nom_fichier est dans la zone Ouvrir avec le fichier Regsvr32.exe, cliquez sur OK.
  9. Dans Access, testez pour voir si le problème existe encore.
Si vous n'avez pas le fichier Regsvr32.exe sur votre ordinateur, recherchez-le sur d'autres ordinateurs. Si le fichier n'est pas disponible, vous pouvez l'obtenir auprès du site Web de Microsoft. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
161983 ACC : Regsvr32a.exe est disponible dans le Centre de téléchargement
REMARQUE : N'oubliez pas de compiler tous les modules après avoir ajusté des références. Pour compiler tous les modules, alors que le module est encore ouvert, cliquez sur Compiler base de données dans le menu Débogage. Si les modules ne se compilent pas, il peut y avoir des références non résolues supplémentaires.

Propriétés

Numéro d'article: 310803 - Dernière mise à jour: jeudi 15 juin 2006 - Version: 2.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Access 2000 Standard Edition
Mots-clés : 
kbhowto kbenv kbinfo kbinterop kbprogramming KB310803
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com