PR

ACCESS 2007 「データベースの形式 ’C:¥〇〇¥〇〇〇.accdb’ を認識できません。」 での対応例

スポンサーリンク

ACCESS2007 データベースの形式 accdb を認識できません。

Windows 10では、Access2019 を使用していますが、Windows 7では、Access2007 を使用しています。

通常使用では、互換性に問題はないのですが、まれに下位互換性のないファイルができます。

メッセージ

データベースの形式 ’C:\〇〇\〇〇〇.accdb’ を認識できません。

Access 2007 では、上記メッセージが表示され、開くことができないファイルがあります。

本来、Access 2007 以降であれば、「accdb」形式のファイルが使用できるはずですが、まれにaccdb形式のファイルでも、下位互換性がなくなります。

Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント
「AccessDatabaseEngine.exe」をインストールしても、改善されませんでした。

原因

Access 2019で作成したファイルのフォームに[イベント プロシージャ]を使用していることで、コード保持の設定が「はい」になっていることなどが原因のようです。

対応例

1】一旦、Access2019でファイルを互換性のある「〇〇〇.mdb」形式に変換します。

メッセージ

このフォームまたはレポートには、現在のデータベース形式に対応していない変更が含まれています。フォームまたはレポートは保存されませんでした。
変更を保存するには、空白のセルがあるレイアウトを削除するか、フォームまたはレポートの ”HasModule/コード保持” プロパティを[いいえ]に設定してください。

上記メッセージが表示されます。「OK」クリック

2】フォームのプロパティシートで、コード保持 を「いいえ」にします。

(Access2007・Access2019のどちらを使用しても OK でした)

「いいえ」に設定変更

※「はい」→「いいえ」に設定変更します。

メッセージ

このフォームまたはレポートを保存すると、フォームモジュールまたはレポートモジュールのコードが削除されます。
”HasModule/コード保持” プロパティに[いいえ]を設定したため、フォームまたはレポートが開く時間が短縮されます。フォームまたはレポートに関連しているマクロや、このプロパティシートから呼ばれている別のモジュール内のコードには影響がありません。
フォームまたはレポートを保存し、コードを削除してもよろしいですか?

上記メッセージが表示されます。「はい」クリック

※コード(クラス モジュール情報)を完全に削除します。

mdb形式に変換後、コード保持を「いいえ」に設定することで完全に削除します。
accdb形式の状態で、コード保持を「いいえ」に設定すると NG でした)

3】コード保持を「いいえ」に設定したファイルを、再度「〇〇〇.accdb」形式で保存します。

メッセージ

このデータベースは Access 2007 ファイル形式にアップグレードされました。新しいデータベースは、Access2003以前のバージョンのユーザーとは共有できません。
変換の詳細については[ヘルプ]をクリックしてください。

上記メッセージが表示されます。「OK」クリック

無事、Access 2007・Access 2019 の両方で共有できるようになりました。

[イベント プロシージャ]の設定(コードモジュール情報)が削除されたので、
Access 2007 で再度設定が必要になり、あまり実用的ではありません。

表示するだけであれば、互換性のある「〇〇〇.mdb」形式に変換すればOKですが、コードモジュールが保持されません。

※Access 2019 で、[イベント プロシージャ]を使用すると Access 2007では認識できないファイルができるようです。下位互換性がなくなります。

ACCESS 2007 は、あまり使用していませんが、サポートが終了しているので、使用できなくて当然なのかもしれません…

[イベント プロシージャ]コードモジュールを使用する場合、Access 2007 との共有(互換性)は考えないことですね。

タイトルとURLをコピーしました