"Não é possível abrir a base de dados porque o projeto VBA nele contido não pode ser lido" quando executa um ficheiro microsoft Access MDE, ACCDE ou ADE compilado no Access 2010

Resumo

As bases de dados do Microsoft Access criadas com a versão de 64 bits do Microsoft Access 2010 e compiladas como ficheiros MDE, ACCDE e ADE têm de ser recompiladas no Microsoft Access 2010 Service Pack 1 (SP1) para funcionar corretamente com o Access 2010 SP1.

As bases de dados do Access 2010 MDE, ACCDE e ADE criadas com a versão inicial, ou RTM, versão do Access 2010 de 64 bits são incompatíveis com as bases de dados SP1, Além disso, o Access 2010 MDE, ACCDE e ADE compilados no Access 2010 SP1 não funcionarão com a versão RTM. As bases de dados MDE, ACCDE e ADE compiladas têm de ser recriadas a partir das respetivas bases de dados ACCDB, MDB ou ADP de origem.

As bases de dados do Access criadas com a versão de 32 bits do Access 2010 e compiladas como ficheiros MDE, ACCDE e ADE funcionarão corretamente com o Microsoft Access 2010 SP1. No entanto, as bases de dados do Access MDE, ACCDE e ADE criadas com a versão de 32 bits do Microsoft Access 2010 SP1 não funcionarão corretamente com a versão RTM.

Sintomas

Considere os seguintes cenários:

  • Cenário 1: cria um ficheiro do Access 2010 MDE, ACCDE ou ADE compilado num computador no qual o Access 2010 SP1 (64 bits) está instalado. Em seguida, tenta utilizar o ficheiro num computador no qual a versão de lançamento do Access 2010 (64 bits) está instalada.
  • Cenário 2: cria um ficheiro MDE, ACCDE ou ADE compilado do Access 2010 num computador no qual a versão de lançamento do Access 2010 (64 bits) está instalada e, em seguida, tenta utilizar o ficheiro num computador no qual o Access SP1 2010 (64 bits) está instalado.
  • Cenário 3: cria um ficheiro compilado do Access 2010 MDE, ACCDE ou ADE num computador no qual o Access 2010 SP1 (32 bits) está instalado e, em seguida, tenta utilizar o ficheiro num computador no qual a versão de lançamento do Access 2010 (32 bits) está instalada.

Nestes cenários, quando tentar executar o código VBA pela primeira vez, receberá a seguinte mensagem de erro:

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.

Causa

Este problema ocorre porque o Access 2010 SP1 utiliza uma versão mais recente do ficheiro VBE7.dll (versão 7.00.1619).

Resolução

Para resolver este problema, compile a sua aplicação MDE, ACCDE ou ADE do Access 2010 com a versão do Access 2010 na qual pretende implementar o ficheiro MDE, ACCDE ou ADE.

Mais Informações

As tabelas seguintes fornecem um resumo das bases de dados compiladas que funcionarão com que versão do Access 2010. As tabelas partem do princípio de que está a abrir um ficheiro MDE, ACCDE ou ADE de 32 bits na versão de 32 bits do Microsoft Access ou que está a abrir um ficheiro MDE, ACCDE ou ADE de 64 bits na versão de 64 bits do Access. Não é possível abrir um ficheiro MDE, ACCDE ou ADE de 32 bits no Access de 64 bits e não pode abrir um ficheiro MDE, ACCDE ou ADE de 64 bits no Access de 32 bits.

Um ficheiro MDE, ACCDE ou ADE criado no Access 2010 RTM

Tipo de ficheiro Access 2010 RTM Access 2010 SP1
MDE, ACCDE ou ADE de 32 bits Trabalhos Trabalhos
MDE, ACCDE ou ADE de 64 bits Trabalhos Ocorre um erro

Um ficheiro MDE, ACCDE ou ADE criado no Access 2010 SP1

Tipo de ficheiro Access 2010 RTM Access 2010 SP1
MDE, ACCDE ou ADE de 32 bits Ocorre um erro Trabalhos
MDE, ACCDE ou ADE de 64 bits Ocorre um erro Trabalhos