Microsoft Accessは非常に便利なソフトですが、システム開発系の技術者からは結構嫌われていたりします。
技術者が嫌うネガティブな要素は幾つか有りますが、その中の一つに「Accessが壊れる」という現象が有ります。
Accessファイルが壊れた状態とは?
「壊れた」Accessとは以下のような挙動になります。
- さっきまで正常に動いていたのに急にエラーが出てAccessが強制終了するようになった。
- VBAエディタ画面で特定の箇所を修正したり、VBAエディタを表示しただけで突然エラーが出てAccessが強制終了する。
- その他の本来できるはずの操作や変更で必ずエラーが出てAccessが強制終了するようになった。
主にVBAエディタ画面で編集していたり、フォームをデザイナー画面で編集している時なんかに、何の前触れもなく発生するようになりますが、この強制終了はまさに理不尽極まりなく、やりきれない気持ちになります。
こうなると挙動がおかしくなる前のファイルをバックアップから戻したり、空のaccdbファイルやmdbファイルにオブジェクトをエクスポートするといった対応が有りますが、もっと手軽に修復できる方法があるためご紹介します。
コマンドラインスイッチから修復
当方の環境はAccess2010で古い環境ですが、以下の操作で修復できるのを確認しています。
尚、何故かMicrosoftの資料では、Accessのコマンドラインに関する情報がAccess2007以降存在していないのですが、2010以降のバージョンでも使えると思います。
修復手順
コマンドプロンプトを起動し、以下のコマンドを実行します。
"修復対象のAccessファイルのフルパス" /decompile
※Accessが異なるバージョンでインストールされている環境とかでは、実行するAccess.exeをフルパスで指定してあげないとダメかも知れません。
"インストールされたAccess.exeのフルパス" "修復対象のAccessファイルのフルパス" /decompile
これで壊れていたファイルでエラーが出なくなったかと思います。
ただ、この方法でも不具合が解消しない可能性はあるます。
やはりAccessはデータベースとして使う場合は信頼性に欠ける為、可能な限りアプリケーションのフロントエンドとして使うべきだと思います。
それでは今回も読んでいただきありがとうございました。