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) で再コンパイルする必要があります。

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

32 ビット バージョンの Access 2010 を使用して作成され、MDE、ACCDE、ADE ファイルとしてコンパイルされたアクセス データベースは、Microsoft Access 2010 SP1 で正しく動作します。 ただし、32 ビット バージョンの Microsoft Access 2010 SP1 を使用して作成されたアクセス 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 ファイルを開いているものとします。 32 ビットの MDE、ACCDE、または ADE ファイルを 64 ビット Access で開くことはできません。また、64 ビットの MDE、ACCDE、または ADE ファイルを 32 ビット Access で開くことはできません。

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 エラーが発生する 作品