- ベストアンサー
Access 読み取り専用のアカウントでは開かない
- アクセス2003を使用しているサーバーPCには、読み取り専用のアカウント「suzuki」と「tanaka」があります。
- 共有フォルダ「営業資料」には、アクセス可能なユーザーとして「suzuki」、「tanaka」が設定されています。
- クライアントPC1では読み書きができますが、クライアントPC2からは「顧客データ.mdbは既に使用されているので、使用できませんでした」というメッセージが表示されます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Access自体は共有モードで開く設定にしてあれば255人まで可能だと MS社は言っています 「データベースを同時に使用できるユーザーの数 255 」 実際は使い方にもよりけりですが、いいとこ20くらい?だと思います。 さて、mdbファイルを開いたときには、同名で拡張子が、ldb ファイルができます。 suzukiが開いているときに後からtanakaが開こうとした場合、 フォルダのアクセス権が読み取りのみでは書き込みに失敗しますので使用不可になります。 フォルダのアクセス権には、「読み取り」と「書き込み」が必要です。 (「書き込み」→「変更」かも?) なので、アクセス権は拡大して、 hatena さんのホームページにあるようにして フォームのレコードセットを、スナップショットにし、 ファイルはmdb から mde にして、tanaka に渡すのが簡単かと思います。 (ACCDBはMDBに、ACCDEはMDEに読み替えてください) http://hatenachips.blog34.fc2.com/blog-entry-351.html ユーザーレベルセキュリティを設定する方法もありますが、 ややこしいのでお勧め出来ません。 (アクセス権はいずれにしても拡大する必要があります)
その他の回答 (1)
- chie65536(@chie65535)
- ベストアンサー率44% (8754/19862)
>クライアントPC2から「読み取りのみ」でアクセスすることはできますか? mdbファイルは、ご存知のように「2人で同時に使用しようとすると、排他制御されて、1人しか開けない」ようになっています。 この排他制御は「同時での書き込みは許さない排他的な読み書きモードでオープン」する事で行います。 こうすると、1人目がオープンするとオープンに成功」して、2人目がオープンするとオープンに失敗します。 そして「オープンに失敗する」と 「***.mdbは既に使用されているので、使用できませんでした」 と言うメッセージを出して終了します。 ここで、ファイルのアクセス権に「書き込み権がない」と、1人目のオープンであっても「オープンに失敗」します。 前述のように「オープンに失敗したら、多重オープンだと思ってエラーにする」のですから、書き込み権のないmdbを開こうとすると、常に 「***.mdbは既に使用されているので、使用できませんでした」 と言うメッセージを出して終了します。 以下は機械翻訳なので日本語が変ですが、mdbを読取専用で開く場合についての説明です。 http://support.microsoft.com/kb/195475/ja ここにも「デフォルトでは、読み取り/書き込みモードでデータベースを開きます。」と書かれています。
お礼
nicotinism さん 回答ありがとうございます。 ご指導のように「テーブルデータを保護する」を参考に変更してみたのですが、フォーム項目にテーブルを指定している箇所が多数にあるため見送りました。 今回は共有フォルダを更新可にして、フォームのレコードセットをスナップショットにすることで対応しました。 (とりあえずはフォームからデータを更新できなくするだけで良いので・・・) 色々と勉強になりました。ありがとうございました。