現象
複数のユーザーが1つの Microsoft Access データベースを共有しているときに、特定のフォームまたはレポートオブジェクトを開こうとすると、次のエラーメッセージが表示されます。
現時点では、データベースへの排他的なアクセス権がありません。
原因
次のような設定と条件の組み合わせによって、オブジェクトの更新がトリガーされます。
-
複数のユーザーが同じデータベースファイルを開いている。
-
[データベースを閉じるときに最適化する] 設定が選択されています。
-
名前の自動修正情報をトラックし、名前の自動修正データベースの設定を実行します。
-
開こうとしているフォームまたはレポートオブジェクトには、コントロールまたはフォームイベント内の埋め込みマクロが含まれています。
この場合、Access は変更を保存しようとしますが、オブジェクトへの排他的なアクセスは取得できません。
解決方法
このエラーを回避するには、次のいずれかの操作を行います。
-
分割データベースの方法を使用して、各ユーザーがフロントエンドデータベースのローカルコピーを持つようにします。 詳細については、「 Access データベースを分割する」を参照してください。
-
[ファイル>オプション] の [閉じるときに最適化する] チェックボックスをオフにします。 [現在のデータベース> >アプリケーションオプション] を選びます。
-
[ファイル>オプション->現在のデータベース->名前の自動修正オプション] で [名前の自動修正を行う] チェックボックスをオフにします。
-
フォームから埋め込みマクロを削除するか、レポートを作成して、名前付きマクロまたは VBA イベントプロシージャに置き換えます。