即効テクニック |
MDEをSQLServerまたはMSDE(MicrosoftDataEngine)へアップサイジングするため、[データベースユーティリティ]の[アップサイジングウィザード] を実行してSQLServerデータベースとリンクさせるアプリケーションを設定する部分[アプリケーションの変更]で[新しいAccessクライアント/サーバアプリケーションを作成する]を選択した場合、次のエラーメッセージが表示されます。 "VBAプロジェクトがパスワードで保護されているため、このデータベースをクライアントサーバーデータベースに変換することができません。" これは、アップサイジングウィザードの設定で[Accessクライアント/サーバーアプリケーションの新規作成]オプションを選択した場合、ウィザードがMDE保存時に削除されてしまったオブジェクトにアクセスしようとするために発生するエラーです。 AccessデータベースをMDE として保存した場合、データベースの全てのモジュールおよびコードはコンパイルされ削除されます。VBAのコードは引き続き実行されますが、表示することも編集することもできません。 またこのエラーは、MDE だけでなくVBAコードの参照や変更を防ぐためにVBAコードを保護したAccessプロジェクトまたはAccessデータベースでも同様に表示されます。 ●回避方法● MDEをアップサイジングする場合は、[変更なし]または[SQLServerのテーブルを既存のアプリケーションにリンクさせる]のいずれかを選択する、または、元のデータベース(MDB)を使用します。