Access共有について質問(2002-2007)
Access共有について質問
アプリケーション部とデータ部に分割したACCESSファイル(MDB)があります。
アプリケーション部のMDBはクライアントに配置して、
データ部のMDBは、クライアントがフルアクセスできる共有サーバー(WindowsXP)のあるフォルダに配置してます。
以下、環境と現象の御説明そして調べたこと、最後に質問する流れで記述したします。
-----------
▼環境
-----------
●クライアント環境(アプリケーション部)
testApl.mdb
・リンク先のtestDB.mdbのテーブルに対してのフォーム登録画面を介して編集を行う。
●共有サーバー(データ部)
・testDB.mdb
●クライアントが使用できるバージョンは、Access2002,2003,2007を対象
●前提として、以下のセキュリティ設定を行っています。
★IE7→(1)「ツール」→(2)「インターネット オプション」→(3)「セキュリティ」→(4)「イントラネット」
→(5)「サイト」→(6)「詳細設定」→(7)「このWeb サイトをゾーンに追加する」→(8)「追加(A)」
で、共有サーバーを設定
★Access2007環境のクライアントでは、
→(1)左上のOfficeボタンからメニューを表示→(2)中央下にある「Accessのオプション」をクリック→(3)「セキュリティセンター」を選択
→(4)「セキュリティセンターの設定」をクリックして、信頼できる場所に、testApl.mdbおよびtestDB.mdbのパスを設定。
●共有するにあたり、参考にしている文献
http://office.microsoft.com/ja-jp/access/CH062526671041.aspx
http://technet.microsoft.com/ja-jp/library/cc984213.aspx
-----------
▼現象
-----------
Access2002環境のクライアントがtestApl.mdbを開いてテーブルを更新した後、
そのままの状態で、別のAccess2007クライアント環境からtestApl.mdbを開き、
登録(更新)又は削除すると失敗する。
たとえば追加の場合
"登録中に例外エラーが発生しました 詳細:更新可能なクエリであることが必要です"
-----------
▼調査1
-----------
Access2002環境のクライアント(VISTA)がtestApl.mdbを開いている状態で
(1)直接、Access2007クライアント(XP)環境のtestApl.mdbのリンクテーブルを開き、
表のセルにロックかかっている状態になっている(編集不可)
(2)直接、Access2007クライアント(XP)環境から共有のtestDB.mdbを開くと、
”読み取り専用”で開く
(3)Access2007クライアント(XP)環境からVBS(WSH)で以下のプログラムを実行すると、Openで失敗する。
(既にMDBが開かれているような旨のメッセージ表示される)
DataSource=共有サーバーのパス\testDB.mdb
Set Con = WScript.CreateObject("ADODB.Connection")
Set Rst = WScript.CreateObject("ADODB.Recordset")
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & DataSource & ";Persist Security Info=False"]
-----------
▼調査2
-----------
Access2002環境のクライアント(VISTA)がtestApl.mdbを閉じた状態で
(1)直接、Access2007クライアント(XP)環境のtestApl.mdbのリンクテーブルを開き、
表のセルにロックかかっている状態になっている(編集不可)
(2)直接、Access2007クライアント(XP)環境からtestDB.mdbを開くと、
”読み取り専用”で開く
(3)Access2007クライアント(XP)環境からVBS(WSH)で以下のプログラムを実行すると、Openは成功する
DataSource=共有サーバーのパス\testDB.mdb
Set Con = WScript.CreateObject("ADODB.Connection")
Set Rst = WScript.CreateObject("ADODB.Recordset")
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & DataSource & ";Persist Security Info=False"
(4)すべてのクライアント環境から、testApl.mdb、testDB.mdbを開かない(閉じてる状態)
にしても、共有にあるtestDB.mdbのldbファイル(testDB.ldb)が残っている。
試しに、testDB.ldbを削除しても、すぐまた出来てしまう。(何故?)
-----------
▼質問
-----------
1、現象の改善方法教えてください。
2、調査2の(4)のldbファイルが何故すぐ復活してしまうのでしょうか?何かプロセスが残っているように感じますが、タスクマネージャーで見る場合、何を手掛かりに探せばいいのでしょうか?
-----------
説明不足しているところありましたら、ご連絡ください。
調べ方に対してのアドバイスおよびヒントでもかまいません。
問題解決に藁をもすがる思いです。
宜しくお願いいたします。
お礼
ありがとうございます。 設定されている環境でアプリケーションを使っているだけなので、細かい設定等は良く分かりません。 エラーメッセージのようなものが出ていた気がします。今度、再確認してみます。