Windows Update 適用後、Excel(VBA)から Access(MDB)への ODBC 接続が突然失敗する事象が発生した。
Microsoft Update による Jet / ACE Engine のセキュリティ仕様変更。
Microsoft公式KB KB5002984 により、 Jet / ACE Engine はセキュリティ強化の一環として、 ネットワーク上(UNC)の Access データベースに対するクエリ実行を既定でブロックする仕様に変更された。
これは不具合ではなく、仕様変更である。
公式KB:
Microsoft公式KBに記載されている ACE 側の回避策(互換性維持設定) を適用。
(Microsoft 365 / Click-to-Run 環境)
HKEY_LOCAL_MACHINE
\SOFTWARE
\Microsoft
\Office
\ClickToRun
\REGISTRY
\MACHINE
\Software
\Microsoft
\Office
\16.0
\Access Connectivity Engine
\Engines
追加する値
| 項目 | 内容 |
|---|---|
| 種別 | DWORD |
| 名前 | AllowQueryRemoteTables |
| 値 | 1 |
この設定により、UNC 上の Access データベースに対するクエリ実行が許可され、 既存の VBA / SQL / DSN を変更することなく復旧した。
Windows Update 後に発生した Excel+Access(ODBC)接続障害は、 Jet / ACE Engine のセキュリティ仕様変更が原因だった。
Microsoft公式KBに基づく設定を適用することで、 正規の方法で復旧が可能である。
「Windows Update 後に Access が動かなくなった」
「Excel からの ODBC 接続が不安定」
といった内容でも構いません。
まずはお気軽にご相談ください。
はい、可能です。
既存のAccessシステムについて、設計書がない場合でも内容を解析したうえで、保守契約を締結することができます。現在の構成や機能を把握し、適切なサポート体制をご提案いたします。
はい、主な原因としては次のようなものが考えられます。
これらの症状が見られる場合は、データベースの 診断・最適化・分割 などで改善できます。当社では現状調査から対策のご提案まで承っておりますので、お気軽にご相談ください。
mdb形式のままでも動作させることは可能ですが、マイクロソフトとしてはすでに、2003以前のAccessはサポート対象外としています。
accdb形式では新しい機能が追加されておりますので、機能強化等を行う際に、開発がしやすいといった利点があります。
今後もAccessを使い続けていくのであればaccdb形式にバージョンアップしたうえで、機能追加などの修正を行ったほうが、より長い期間使い続けていけるかと思います。
はい、どなたが作成したAccessでも改修いたします。
まずはご使用のAccessを解析させていただき、機能をよく把握した上で、ご希望の修正、機能追加を行います。
新しいAccessへデータを移行いたします。新しいAccessで全機能の動作試験を実施しますので、移行後も安心してお使い頂けます。