« Impossible d’ouvrir la base de données, car le projet VBA qu’elle contient ne peut pas être lu » lorsque vous exécutez un fichier Microsoft Access MDE, ACCDE ou ADE compilé dans Access 2010

Résumé

Les bases de données Microsoft Access créées à l’aide de la version 64 bits de Microsoft Access 2010 et compilées en tant que fichiers MDE, ACCDE et ADE doivent être recompilées dans Microsoft Access 2010 Service Pack 1 (SP1) pour fonctionner correctement avec Access 2010 SP1.

Les bases de données Access 2010 MDE, ACCDE et ADE créées à l’aide de la version initiale, ou RTM, d’Access 2010 64 bits ne sont pas compatibles avec sp1. En outre, les bases de données Access 2010 MDE, ACCDE et ADE compilées dans Access 2010 SP1 ne fonctionnent pas avec la version RTM. Les bases de données MDE, ACCDE et ADE compilées doivent être recréées à partir de leurs bases de données ACCDB, MDB ou ADP sources.

Les bases de données Access créées à l’aide de la version 32 bits d’Access 2010 et compilées en tant que fichiers MDE, ACCDE et ADE fonctionnent correctement avec Microsoft Access 2010 SP1. Toutefois, les bases de données Access MDE, ACCDE et ADE créées à l’aide de la version 32 bits de Microsoft Access 2010 SP1 ne fonctionneront pas correctement avec la version RTM.

Symptômes

Plusieurs scénarios sont envisageables :

  • Scénario 1 : Vous créez un fichier ADE, ACCDE ou ADE Access 2010 compilé sur un ordinateur sur lequel Access 2010 SP1 (64 bits) est installé. Ensuite, vous essayez d’utiliser le fichier sur un ordinateur sur lequel la version finale d’Access 2010 (64 bits) est installée.
  • Scénario 2 : Vous créez un fichier Access 2010 MDE, ACCDE ou ADE compilé sur un ordinateur sur lequel la version release d’Access 2010 (64 bits) est installée, puis vous essayez d’utiliser le fichier sur un ordinateur sur lequel Access SP1 2010 (64 bits) est installé.
  • Scénario 3 : Vous créez un fichier Access 2010 MDE, ACCDE ou ADE compilé sur un ordinateur sur lequel Access 2010 SP1 (32 bits) est installé, puis vous essayez d’utiliser le fichier sur un ordinateur sur lequel la version finale d’Access 2010 (32 bits) est installée.

Dans ces scénarios, la première fois que vous essayez d’exécuter du code VBA, vous recevez le message d’erreur suivant :

The database cannot be opened because the VBA project contained in it cannot be read. The database can be opened only if the VBA project is first deleted. Deleting the VBA project removes all code from modules, forms and reports. You should back up your database before attempting to open the database and delete the VBA project.

To create a backup copy, click Cancel and then make a backup copy of your database. To open the database and delete the VBA project without creating a backup copy, click OK.

Cause

Ce problème se produit car Access 2010 SP1 utilise une version plus récente du fichier VBE7.dll (version 7.00.1619).

Résolution

Pour résoudre ce problème, compilez votre application Access 2010 MDE, ACCDE ou ADE à l’aide de la version d’Access 2010 dans laquelle vous envisagez de déployer le fichier MDE, ACCDE ou ADE.

Informations supplémentaires

Les tableaux suivants fournissent un résumé des bases de données compilées qui fonctionnent avec quelle version d’Access 2010. Les tables supposent que vous ouvrez un fichier MDE, ACCDE ou ADE 32 bits dans la version 32 bits de Microsoft Access ou que vous ouvrez un fichier MDE, ACCDE ou ADE 64 bits dans la version 64 bits d’Access. Vous ne pouvez pas ouvrir un fichier MDE, ACCDE ou ADE 32 bits dans Access 64 bits, et vous ne pouvez pas ouvrir un fichier MDE, ACCDE ou ADE 64 bits dans Access 32 bits.

Un fichier MDE, ACCDE ou ADE créé dans Access 2010 RTM

Type de fichier Access 2010 RTM Access 2010 SP1
MDE, ACCDE ou ADE 32 bits Fonctionne Fonctionne
MDE, ACCDE ou ADE 64 bits Fonctionne Une erreur se produit

Un fichier MDE, ACCDE ou ADE créé dans Access 2010 SP1

Type de fichier Access 2010 RTM Access 2010 SP1
MDE, ACCDE ou ADE 32 bits Une erreur se produit Fonctionne
MDE, ACCDE ou ADE 64 bits Une erreur se produit Fonctionne