2012-10-18 11 views
5

私はMS Accessの2010年に分割されたデータベースを持っているMSアクセス - Windows 7の上のスプリット・データベース上の「使用中の既にファイル」エラー

バックエンドのみ一部の人が書き込みを持っているフォルダにネットワークドライブ上にありますパーミッション;誰もが読み取り権を持っています。

すべてのユーザーは、ローカルマシンに格納されているフロントエンドのコピーを所有しています。

両方のBE & FEは、すべてのユーザーに対して排他的ではなく共有として開くように設定されています。

読み取り専用アクセス許可を持つユーザーが読み取り専用アクセス許可を持つ別のユーザーがアクセスしているときにアクセスしようとすると、正常にアクセスできます。

書き込み権限を持つユーザーが開いているときに読み取り専用権限を持つユーザーがアクセスしようとすると、「ファイルはすでに使用中です」というメッセージが表示され、データベースを開くことができません。

読み取り専用アクセス権を持つユーザーが書き込み権限を持っているときに書き込み権限を持つユーザーがデータベースを開こうとすると、このユーザーの読み取り専用としても開きます。

分割されたデータベースのすべてのユーザーはフルアクセス権が必要ですか?私は誰もが編集を行えるようにしたくありません。これを動作させるために私ができることは何ですか?

+0

「アクセス許可」について言えば、Windowsファイル/フォルダのアクセス許可について話していますか?はいの場合、私は誰もあなたのデータベースを格納するフォルダ(およびそのファイル)に対する読み取りと書き込みのアクセス権を持っている必要があります。セキュリティ/アクセス許可を別の方法で実装するか、データをSQL Serverに移動してセキュリティ/アクセス許可をより詳細に制御する必要があります。 – HK1

+0

はい、私はWindows権限を意味します。 – maneesha

答えて

6

この問題は、データベースファイルが存在する共有フォルダへの書き込み権限がないため、読み取り専用クライアントがロックファイル.laccdbを管理できないという事実とは関係があります。

データベースを共有モードで開くと、各クライアントはロックファイルを作成または更新します。
読み取り専用クライアントはロックファイルを作成できないため、排他モードになっていると信じることになります。
フルアクセスクライアントがロックファイルを作成すると、それ以降のクライアントはそのファイルを使用しようとします。読み取り専用クライアントはロックを更新できないため失敗します。

ロックファイルに関するいくつかのドキュメントを:Introduction to .ldb files

あなたの問題を解決したい場合は、すべてのクライアントのためにフォルダへのフルアクセスを許可する必要がありますが、グループに.accdbデータベースファイル自体へのアクセスを制限することができますその中のデータを変更することができないクライアント。

また、Access 2007/2010の機能を使用していない場合は、古い.mdbファイルをバックエンドとして使用し、旧式のグループセキュリティ機能を使用することができます。

最終的には、アクセスを実際に制御したい場合は、クライアント内からセキュリティスキームをロールインして、ユーザーにログインさせるか、自分のマシンのIDを使用してフォームを更新する必要があります'データ編集のプロパティは、その特定のユーザー/マシンが許可されているものに依存します。

+0

+1絶対に、ユーザーがロックファイルを作成および/または変更できないようにする読み取り専用フォルダ設定です。 –

関連する問題