読者です 読者をやめる 読者になる 読者になる

ファイルサーバー上にあるmdbファイルが、複数のWindows7からは同時に開けない問題に対応する

MS Access Windows

ファイルサーバー上にあるAccessファイルを複数人で利用している環境において、ロックファイル(ldb, laccdb)がある場合だとWindows7での挙動が異なったため、調べた時のメモ。

  • mdb/mde形式で、すでにldbファイルが存在していたら、mdb/mdeファイルが起動しない
  • accdb形式で、すでにlaccdbファイルが存在していても、accdbファイルが起動する


なお、「起動しない」というのは、アイコンをダブルクリックしても、エラーメッセージが表示されず何も起こらない状態のことです。
ちなみに、WindowsXPではldbファイルが存在していても開くことができました。



■調べたこと

同じような現象はWeb上にいくつかありましたが、対処方法の記載がありませんでした。


そんな中、対処方法についてまとめられているのは、以下のBlogでした。
クマゴローさんの徒然日記 » windows7とaccess2011およびランタイム


この中の対応で有効だったのは、以下の2つでした。

  • IEのインターネットオプションで、ゾーンにファイルサーバーのIPアドレスを追加
  • gpedit.mscで、添付ファイルマネージャーの危険の低いファイルの一覧に「mdb/mde」を追加


添付ファイルマネージャーについて調べたところ、以下のKB883260に記載がありました。
Microsoftサポート - Microsoft Windows の添付ファイル マネージャーの動作について


Explorerに関する記載はなかったものの、mdb/mdeが危険度の高いファイルの種類と指定される一方で、accdbの記載はないことから、おそらくこれに引っかかったのかなと考えられます。


なお、ldbが存在している場合にAccessでエラーが出るパターンもありましたが、この場合もサイトの追加をしていました。
Microsoftサポート - FQDN または IP アドレスを使用すると、イントラネット サイトがインターネット サイトとして判別される



■対応

添付ファイルマネージャーでmdb/mdeファイルを一律に危険度が低いものとしてしまうと色々と問題がありそうだったため、インターネットオプションを利用することにしました。
また、

  • 複数の端末を都度設定するのは、手間
  • インターネットオプションの設定は、ほとんどしていない
  • ActiveDirectoryによるドメイン環境構築済

という条件が重なっていたため、グループポリシーで配信することにしました。


どのポリシーで配信するかについては、以下を参考にしました。


Windows2008R2の環境でも、グループポリシーの場所は同じ、「サイトとゾーンの割り当て一覧」にありました。
設定内容は、以下の通りです。

値の名前
\\<ファイルサーバーのIPアドレス 1


このグループポリシーをドメインに割り当て、クライアント端末を再起動したところ、ldbありのmdbファイルを開くことができました。
なお、インターネットオプションのサイトには、「file://<ファイルサーバーのIPアドレス>」という形で設定されており、設定の変更はグレイアウトされていました。