【複数のユーザーでリンク テーブルにアクセスするとパフォーマンスが落ちる】
Microsoft Office Access 2003
【原因】
Access でリンク テーブルにアクセスする際、リンク先のデータベースの情報を取得するために、開く、閉じるの動作が数回おこなわれます。
データベースを閉じるとき、Access はロック情報ファイル (ldb) を削除しようとしますが、リンク先のデータベースが別のユーザーによって開かれている場合、ロック情報ファイル (ldb) は別のユーザーによって使用されているために削除することができません。
その場合、オペレーティング システムはファイルが削除できなかったことを Access に通知します。
しかし、リンク先のオペレーティング システムとして、Windows XP、Windows 2000、または Windows NT 4.0 を使用している場合、オペレーティング システムから Access に通知するまでに時間がかかるため、パフォーマンスに影響します。
【回避方法】
この現象を回避するには、Autoexec マクロを使用します。
- リンク先のデータベース (mdb) にて空のダミーの ”test" テーブルを作成します。
- リンク元のデータベース (mdb) にて "test" テーブルにリンクを設定します。
- リンクした"test" テーブルを基にダミーの ”test" フォームを作成します。
- 以下の AutoExec マクロを作成します。
アクション
フォームを開く
アクションの引数
フォーム名: test
ビュー: フォーム ビュー
データ モード: 読み取り専用
ウインドウ モード: 非表示
【参考】
[ACC2003] 複数のユーザーでリンク テーブルにアクセスするとパフォーマンスが落ちる
http://support.microsoft.com/kb/838670/JA/
【システム開発】 >
【Access(アクセス)基本】