Access 2010 でコンパイル済みの Microsoft Access MDE、ACCDE、または ADE ファイルを実行すると、「データベースに含まれている VBA プロジェクトを読み取ることができないため、データベースを開くことができません」

概要

64 ビット バージョンのMicrosoft Access 2010を使用して作成され、MDE、ACCDE、ADE ファイルとしてコンパイルされる Microsoft Access データベースは、Access 2010 SP1 で正しく動作するには、Microsoft Access 2010 Service Pack 1 (SP1) で再コンパイルする必要があります。

最初のリリースまたは RTM バージョンの 64 ビット Access 2010 を使用してビルドされた Access 2010 MDE、ACCDE、ADE データベースは、SP1、Access 2010 MDE、ACCDE、および ADE データベースと互換性がありません。Access 2010 SP1 でコンパイルされた ADE データベースは RTM バージョンでは機能しません。 コンパイル済みの MDE、ACCDE、および ADE データベースは、ソース ACCDB、MDB、または ADP データベースから再作成する必要があります。

Access 2010 の 32 ビット バージョンを使用して作成され、MDE、ACCDE、ADE ファイルとしてコンパイルされているアクセス データベースは、Microsoft Access 2010 SP1 で正しく動作します。 ただし、MICROSOFT ACCESS 2010 SP1 の 32 ビット バージョンを使用して作成された Access MDE、ACCDE、ADE データベースは、RTM バージョンでは正しく動作しません。

現象

次のようなシナリオを考えてみましょう。

  • シナリオ 1: Access 2010 SP1 (64 ビット) がインストールされているコンピューターに、コンパイル済みの Access 2010 MDE、ACCDE、または ADE ファイルを作成します。 次に、Access 2010 (64 ビット) のリリース バージョンがインストールされているコンピューターでファイルを使用しようとします。
  • シナリオ 2: Access 2010 のリリース バージョン (64 ビット) がインストールされているコンピューターに、コンパイル済みの Access 2010 MDE、ACCDE、または ADE ファイルを作成し、Access SP1 2010 (64 ビット) がインストールされているコンピューターでファイルを使用しようとします。
  • シナリオ 3: Access 2010 SP1 (32 ビット) がインストールされているコンピューターに、コンパイル済みの Access 2010 MDE、ACCDE、または ADE ファイルを作成し、Access 2010 (32 ビット) のリリース バージョンがインストールされているコンピューターでファイルを使用しようとします。

このようなシナリオでは、初めて VBA コードを実行しようとすると、次のエラー メッセージが表示されます。

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.

原因

この問題は、Access 2010 SP1 で新しいバージョンの VBE7.dll ファイル (バージョン 7.00.1619) が使用されるために発生します。

解決方法

この問題を解決するには、MDE、ACCDE、または ADE ファイルをデプロイする Access 2010 のバージョンを使用して、Access 2010 MDE、ACCDE、または ADE アプリケーションをコンパイルします。

詳細情報

次の表に、どのバージョンの Access 2010 を使用するコンパイル済みデータベースの概要を示します。 これらのテーブルでは、32 ビット バージョンの Microsoft Access で 32 ビット MDE、ACCDE、または ADE ファイルを開いているか、64 ビット バージョンの Access で 64 ビット MDE、ACCDE、または ADE ファイルを開いていると想定しています。 64 ビット Access で 32 ビット MDE、ACCDE、または ADE ファイルを開くことはできません。また、32 ビット Access で 64 ビット MDE、ACCDE、または ADE ファイルを開くことはできません。

Access 2010 RTM で作成された MDE、ACCDE、または ADE ファイル

ファイルの種類 Access 2010 RTM Access 2010 SP1
32 ビット MDE、ACCDE、または ADE 作品 作品
64 ビット MDE、ACCDE、または ADE 作品 エラーが発生する

Access 2010 SP1 で作成された MDE、ACCDE、または ADE ファイル

ファイルの種類 Access 2010 RTM Access 2010 SP1
32 ビット MDE、ACCDE、または ADE エラーが発生する 作品
64 ビット MDE、ACCDE、または ADE エラーが発生する 作品