『原因は分からないけどこうやったら直った』レベルの参考情報です。
現象
Microsoft365のAccessでaccdbのシステム作成。
バージョンは下記。
Microsoft Access for Microsoft 365 MSO (バージョン 2302 ビルド 16.0.16130.20332) 32 ビット
そして作ったものをAccess Runtimeで開いた。
バージョンは下記。
Windows 10 IoT Enterprise 22H2 19045.2788
Access Runtime 2016 バージョン16.0.4288.1001
すると下記ダイアログでエラー。
データベースに含まれているVBAプロジェクトを読み取れないため、データベースを開くことができません。データベースを開くには、VBAプロジェクトを削除する必要があります。VBAプロジェクトを削除すると、モジュール、フォーム、およびレポートからすべてのコードが削除されます。データベースを開いてVBAプロジェクトを削除する前に、バックアップコピーを作成することをお勧めします。
ダイアログにも書いてあるけど、OKボタン押すとVBAソースコードが 全部消える 。
ぜ・ん・ぶ・き・え・る!!!!
キャンセル押しても同じダイアログが何回も出てくる…。
あきらめてOKボタン押した。
(;´д`)=3
同じ環境であってもエラー無く開ける端末はある。
(同じ環境 = OSとAccess Runtimeのバージョンが同じ)
つまり、実行環境(端末)に依存する問題と思われる。
Access Runtimeの修復では解決せず
Access Runtimeの再インストールでも解決せず
一旦Access Runtimeをアンインストール。
問題無く動く端末だと下記なので32bit版を再インストール。
互換性のトラブルシューティングでも解決せず
『プログラムのテスト』ボタンがある画面で『次へ』ボタン。
シャットダウン ⇒ 起動。
データベースの最適化修復しても解決せず
全角や半角カタカナは不使用
このエラーに関してネットで検索すると『フォーム名に半角カタカナがあると…』という記事がよく見つかった。
しかし、フォームはもちろん、テーブル名、カラム名、Function名、Sub名、変数名においても全角や半角カタカナは不使用だった。
オブジェクト再作成したらなぜか直った…
『問題が起きているaccdb』 ⇒ 『空のaccdb』へテーブルやフォームやクラスなど、とにかく全てのオブジェクトをコピー。
下記の設定項目についても『問題が起きているaccdb』を参照して全く同じにした。
そうやって『空のaccdb』を元にオブジェクトを再作成したものだと問題無く起動した。
蛇足
開発中の動作確認で起きたので、さほど影響大きくなかったのは不幸中の幸い。
『原理は分からない(腑に落ちない)けど、とにかくこうすれば直る』はあんま好きじゃないけど、ままええわ…。
参考サイトさん