Accessアプリでエラーが出てしまう、誤動作が起きてしまう、これをアレコレ苦戦していましたが、その前段の話もご報告しておきます。
あまり役に立たないかも。
結果と結論はこちら
OfficeのUpdateでAccessアプリが動作しなくなる。 - treedown’s Report
これの前日談みたいなものです。
突然やってきた連絡
「なんかAccessアプリ動かなくなりまして。」
そんな連絡がやってきたのは業務開始の朝一。ふーむ、なんでしょうなぁ…。Windows Updateの時期は(現在月末だから)過ぎてることだし。
対象のPCではWindows10 Professional、Office 2016 ProfessionalのAccess 2016で動作しています。
イベントログを調べてみてもCOMコンポーネントのエラーしか出ていないし、このエラーを解消しても全く動作に改善が見られない。
エラーメッセージを発見
Accessで起動したり終了したりをしていると、手がかりになるかもしれない数少ないエラーメッセージが表示。
そのエラーメッセージには、
「このエラーは、イベントのロジックの場所を評価できないためにイベントを実行できなかった場合に発生します。たとえば、フォームの "OnOpen/開く時" プロパティが =[フィールド] に設定されている場合、イベントが開始されたときに、マクロまたはイベントの名前が実行対象として予期されるため、このエラーが発生します。」
と表記されていました。
Accessあんま詳しくないもんで…、はてなんのこちゃら?
ちなみに、別のPC(サーバ)で正常動作するAccessファイルを対象のPCに持ってくると別のエラーが。
エラー メッセージ
「データベースに含まれている VBA プロジェクトを読み取れないため、データベースを開くことができません。VBAプロジェクトを削除する必要があります。VBAプロジェクトを削除すると、モジュール、フォーム、およびレポートからすべてのコードが削除されます。データベースを開いてVBAプロジェクトを削除する前に、バックアップコピーを作成することをおすすめします。」
なんかデータが消えてしまったら怖い、ってことでキャンセルですべて切り抜ける。
なんだろうなぁ…、となんとなくWindows Update画面を見てみたら、「Creaters Update」が適用待ちでスタンバイ中。
これ、ちょっと怪しい。
Creaters Updateの適用まちってこと。
実行してみるも動作の好転なし。
これは参った。
そのとき一筋の光明が
ドン詰まりのなか、打つ手なしの状態に陥ったところ、アドバイスをもらう。
「Officeが異常起こしているかもしれません。切り分けのためにOfficeを入れ直してみましょう。」
そう…ですね。確かにここまで来たらやってみると何か切り分けができるかもしれない。
まずは修復を試してみることに。
プログラムの追加と削除画面から、Microsoft Office Professional 2016 ja-jpを選択して、「変更」をクリック。
どんな修復します?って聞かれます。
クイック修復を試してからオンライン修復、ってのがセオリーのようですが…、
いきなりオンライン修復を選択してしまいます。
なんといいますか、もう、全部直ってもらいたかったんです。治って。
途中で「プログラムと機能」画面から現在インストールされている「Microsoft Office Professional 2016 – ja-jp」の表記は消えてなくなりました。さらにデスクトップ上のOfficeに関連付けられたショートカットも表示が変になります。(関連付けられたプログラムがなくなったから、ということですが)
スタートメニューからOfficeに関するエントリは一時的にすべて消えてしまいます。しかし、焦らずに。しばらく待つと、徐々に復帰してきます。
しかし動作に進境なし。
うーん、やっぱ最初にアドバイスもらったように、一回消して、再度インストールしてしまった方がいいのかなぁ…。
と、アンインストールからインストールを実施。プロダクトキーは用意してもらうことにして、さっそくアンインストールからインストールを実行。
しかし動作の確認をするも進展なし…
…かと思ったら、
「あ、.accrdbファイル、正常動作するファイルをサーバからとってきて置き換えて実行してみて。だって壊れているかもしれないから。」
再びアドバイスが。
物は試しと、サーバ上の正常動作の確認が取れている.accrdbファイルをダウンロードして対象の(Officeをインストールし直した)PCで実行してみると、
おお、動く。Accessアプリが正常に動くよ。
エラーも出なくなり無事動作するようになりました。
この時の結論:
Accessの再インストール(Officeの再インストール)からアプリの.accrdbファイルをどこかから正常動作する確認が取れているファイルを取得し、ローカルPCのデータと置き換える。
これで完成。
と、思っていたら、問題はこの表面的な対処では完了していませんでした。
続く
※追記
この問題の解決策は最終的にはこちら↓になります。