Windowsアップデートを適用したらAccessでエラーが発生…
やや日にちが経過しましたが、先日社内PCのWindowsアップデートが行われました。
拠点ごとに日程を決めて少しずつ進めたようなんですが、私の所属するセンターに先駆けて更新が行われたセンターでトラブルが発生したのです。
状況をまとめると
- 業務で使用するWMSはあるが、より細かいデータの抽出・加工はAccessを使用
- 各センターの電算担当者のレベルによってVBAやマクロの使用状況はまちまち
- サーバ側のデータベースはOracle
- Windows10、Access2016を使っている
といった感じでしょうか。トラブルの内容は「フォーム内に作成したコマンドボタンをクリックするとエラーが発生する」というもの。
そのセンターに常駐している電算担当者はそこまでAccessに詳しいわけではないそうで自力で解決できなかったため本社の情報関連部署へ助けを求めたのだとか。
そして巡り巡って私のところにも「何とかならんか!?」みたいな話が来たのでした。そう言われても私もそこまでAccessに詳しいわけではないと思うのですが…。
エラーの原因は半角カナ!
エラーが発生した時のスクリーンショットを見せてもらうとこんな感じ。
適当に拾ってきた画像なのでフォーム名は違うのですが、内容としてはまさにコレ。
エラーメッセージをもとにぐぐってみると辿り着いたのは下のページでした。
Windows10 バージョン2004以降で半角カナのフォームを含むAccessでエラーが発生する
内容をざっくりまとめると
- Win10のバージョン2004以降、OS内の言語処理が変更
- フォーム名に半角カナの濁音・半濁音が混ざっていると発生する可能性あり
- Ver.2004以降のWindowsではフォーム名の修正も不可能!
というようなおはなし。
そしてトラブルが起きたというセンターの端末にリモートで入ってAccessの中身を見てみると半角を使用したフォームが結構あったのです。それも例えば「トラブル1」「トラブル2」みたいに同じ名称なのに半角のものと全角のものがあったり。
ネーミングについては作成者の責任もあるかと思うのですが困ったのは「アップデート済みの端末ではフォーム名の修正も不可能」という点だったため、原因がわかっても現地の担当者では直せないということでアップデート適用前の拠点にいる私が直すハメになるのです。
ネットワーク越しで数分かけてmdbファイルを私のPCまで引っ張ってきたのち、半角が使われたフォーム名をすべて全角に直したついでに最適化を行ったらファイル容量が5分の1まで減ったのにも驚きつつ元の場所へファイルを返却。
現地の方に試してもらって無事動くことが確認できたのでした。
自分の中で色々と思うところもあったのですがいい経験?にもなったかなーと思っています。