複数ユーザーでリンクテーブルにアクセスすると能力が落ちる

2015-01-21 (Wed) 15:01
【複数のユーザーでリンク テーブルにアクセスするとパフォーマンスが落ちる】
 Microsoft Office Access 2003

 
【原因】
Access でリンク テーブルにアクセスする際、リンク先のデータベースの情報を取得するために、開く、閉じるの動作が数回おこなわれます。
データベースを閉じるとき、Access はロック情報ファイル (ldb) を削除しようとしますが、リンク先のデータベースが別のユーザーによって開かれている場合、ロック情報ファイル (ldb) は別のユーザーによって使用されているために削除することができません。
その場合、オペレーティング システムはファイルが削除できなかったことを Access に通知します。
しかし、リンク先のオペレーティング システムとして、Windows XP、Windows 2000、または Windows NT 4.0 を使用している場合、オペレーティング システムから Access に通知するまでに時間がかかるため、パフォーマンスに影響します。

 
【回避方法】
この現象を回避するには、Autoexec マクロを使用します。
  1. リンク先のデータベース (mdb) にて空のダミーの ”test" テーブルを作成します。
  2. リンク元のデータベース (mdb) にて "test" テーブルにリンクを設定します。
  3. リンクした"test" テーブルを基にダミーの ”test" フォームを作成します。
  4. 以下の AutoExec マクロを作成します。

    アクション
    フォームを開く

    アクションの引数
    フォーム名: test
    ビュー: フォーム ビュー
    データ モード: 読み取り専用
    ウインドウ モード: 非表示 

【参考】
[ACC2003] 複数のユーザーでリンク テーブルにアクセスするとパフォーマンスが落ちる
http://support.microsoft.com/kb/838670/JA/
 
【システム開発】【Access(アクセス)基本】

Blog Calendar

Blog Category

RSS 2.0