突然Accessからエラー!見つかりません共有フォルダ開けない原因

昨日まで動いていたはずのAccessが、突然!動かなくなった経験ございますか?
その不具合、Windows Updateが原因かもしれません。

2019年1月、Accessをご利用中のお客様から「Accessを起動したらエラーが出て動かない」というご連絡が相次ぎ私たちは対応に追われました。

この時のエラーは、2019年1月9日(日本時間)にリリースされたWindows Updateが原因でした。

この記事では、Windows Updateが原因で起こったエラーの具体的な内容と私たちが行った対応方法をご紹介いたします。

Windows Updateとは

そもそも・・・Windows Updateとは?何でしょうか。。。
ご存知の方が多いかと思いますが、念のため簡単に解説させていただきます。

Windows Updateはお使いのWindowsに見つかった不具合修正や機能追加・更新をするためのプログラムです。大別してセキュリティ更新プログラムと機能更新プログラムに分かれ、Windowsを最新の状態に保ちます。

例えば、最新セキュリティ更新プログラムでウイルスや不正アクセスの脅威からあなたのパソコンを守ります。セキュリティ更新プログラムは基本的に毎月第2水曜日(日本時間)にリリースが行われています。

<セキュリティ更新プログラム リリース スケジュール 2019年>
https://blogs.technet.microsoft.com/jpsecurity/2018/10/24/securityupdatereleaseschedule2019/

Windows Updateが原因で起こったエラーについて

今回のエラー原因は、Windows Update適用後に共有フォルダのファイル共有ができなくなったことです。

具体的には「Windows 7」および「Windows Server 2008 R2」向けのWindows Update【KB4480970】の仕業で、Accessファイルを共有フォルダに置き複数人でファイル共有していたお客様、または共有フォルダでクライアントサーバーシステムを構築していたお客様が今回被害に遭われました。

エラーメッセージの内容は下記のようなものです。
「ネットワークパスが見つかりません」
「ネットワークエラー ¥¥パソコン名¥〇〇にアクセスできません」
「¥¥パソコン名¥〇〇にアクセスできません。 ネットワークリソースを使用するアクセス許可がない可能性があります」
「ハンドルが無効です」

上記エラーメッセージは、ネットワーク上(パソコン、サーバー)の共有フォルダをWindowsがパソコン名から認識できなくなってしまったからです。よって、Accessファイルだけではなく共有フォルダにある全てのファイルに影響がありました。

共有フォルダが認識されない場合の対応方法

お客様の業務が止まってしまうため、私たちはお客様を訪問、またはリモートツールを使い緊急対応を行いました。その対応方法を2つご紹介いたします。

※この不具合の問題は、アクセスされる側(サーバー)に原因があるため共有フォルダがあるパソコンに対応を施しました。

1.Windows Updateを削除する(アンインストール)

「プログラムと機能」画面からWindows Update【KB4480970】を削除する。
「コントロールパネル」→「「プログラムと機能」→【インストールされた更新プログラムを表示】
※Windows Update削除後は再起動の必要です。

2.レジストリを変更する

上記Windows Updateを削除してしまう場合、セキュリティホール(脆弱性)を作ってしまう事になります。セキュリティを気にされたお客様にはレジストリを変更することで緊急対応を行いました。
「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System」に【LocalAccountTokenFilterPolicy(DWORD型)】というレジストリキーを追加し値を「1」にする。

Accessのリンクテーブル機能が仇に・・・

Accessにはリンクテーブルという便利な機能があります。
通常だとAccessはテーブル、フォーム、クエリ、レポートが一つのファイル(mdb、accdb)になっていますが、テーブル(A.accdb)とその他(B.accdb:フォーム、クエリ、レポート)のファイルに分割することができます。

テーブルとその他を分けることによって、簡易的なクライアントサーバーシステムになります。共有フォルダ(サーバー)にテーブルだけのA.accdbを置き、各自のパソコン(クライアント)にB.accdbを置く。そして、リンクテーブル機能を使いB.accdbからA.accdbのテーブルにリンクします。

リンクテーブル機能が仇に・・・
通常リンクテーブルは、共有フォルダのパソコン名(サーバー)をキーにリンクをしていますので、今回リンクテーブルを使っていたお客様がWindows Update後に軒並み被害を受けてしまいました。
「¥¥パソコン名¥〇〇・・・」

まとめ

今回のWindows Updateの不具合は、数日後に新しいWindows Update【KB4487345】で修正されましが、何の予兆もなく「昨日まで動いていたAccessから突然!エラーが」、「突然!共有フォルダにアクセスできない」となるのは辛いです。
Windows Updateはパソコンを最新の良い状態にしてくれるものですが、逆に不具合を起こす可能性もあると認識しておいた方がベストです。

おまけ・・・

パソコン名で共有フォルダが認識されない場合の裏技・テクニックがあります。
あまりおススメはしませんが・・・暫定的な対応には使えます。

【パソコン名=IPアドレス】
パソコン名の代わりにIPアドレスを使います。
※リンクテーブルの場合、IPアドレスでリンクを張り直す必要があります。

Access開発サポートがわかる、
3つのコンテンツ