週明けからAccessのアプリケーションで、ちらほらエラーが出ていると現場から報告がありました。
報告の内容を確認し、現場に向かい同じ処理をすると確かにエラーが。
この時なぜか私のPCでは発生せず、現場のPCで実行すると確かにエラーが発生するという状況でした。
「なんでやねん。」と心の中で叫びました。
週末まで普通に使えていたAccessのアプリが急にエラーが発生したというのです。
全く何が起きたのか理解できませんでした。
エラーの内容としては、更新クエリを実行する処理を行うと「クエリ’’は破損しています」というメッセージが表示され先に進めないというものでした。
私の会社ではVB.NETで開発したアプリとAccessで開発したアプリがあるのですが、Accessのアプリだけで100本近くあり、全ての更新クエリを修正するとなるとかなりヘビーな修正となりそうです。
まず、原因ですが、ネットで調べたところ、最近のWindows Updateが原因となっているようだということが分かりました。
回避策としては、最近のWindows Updateをアンインストールすることによって、Accessの更新エラーは回避できるようなのですが、200台近いPCが稼働していることもあり、エラーが発生したPCに対して、その都度個別に対応していく他なさそうなのです。
今回Windows Updateの修正パッチが近々配信されるようですが、配信まで耐えられるか不安です。
今日Office365のメール機能で不具合が見つかったと発表されていましたが、この時代になってもまだこんなことが起こるのかとマイクロソフトには正直愕然としてしまいました。
とまぁ起きてしまったことはしょうがないとして、1日も早く安定した運用ができるようにマイクロソフトには早急に対応いただきたいと思います。
追記
office365/office2019 pro plusの場合は、Windows Updateではなく、Office自体の自動アップデートが原因のようです。
この場合は、バージョンを一つ前の状態に戻す処理をすることによってAccessの破損エラーは回避できました。
本日も続々とエラーの報告が相次ぎました。
バージョンダウン(ロールバック)のバッチファイルを作成し、エラー報告があった方にバッチファイルを配布し、実行してもらうことで今の所凌いでいる状況です。
とりあえずは、この方法でエラーは回避できます。
忘れてはいけないのが、officeのアップデートを止めておくことです。
これをしないと、次の日またアップデートされることになるかもしれないので、バッチファイルで対応するのであれば、バッチファイルの中に更新をしないようにするレジストリの修正プログラムも追記しておいた方がいいですね。