Access 読み取り専用のアカウントでは開かない

このQ&Aのポイント
  • アクセス2003を使用しているサーバーPCには、読み取り専用のアカウント「suzuki」と「tanaka」があります。
  • 共有フォルダ「営業資料」には、アクセス可能なユーザーとして「suzuki」、「tanaka」が設定されています。
  • クライアントPC1では読み書きができますが、クライアントPC2からは「顧客データ.mdbは既に使用されているので、使用できませんでした」というメッセージが表示されます。
回答を見る
  • ベストアンサー

Access 読み取り専用のアカウントでは開かない

Access2003 サーバーPC OS:WinXP Pro アカウント名:suzuki, tanakaが登録してある 共有フォルダ:営業資料 DB名:顧客データ.mdb クライアントPC1 OS:Win7 Home アカウント名:suzuki DB名:顧客.mdb クライアントPC2 OS:XP Home アカウント名:tanaka DB名:顧客.mdb 顧客データ.mdbはテーブルのみ 顧客.mdbはフォーム、クエリ等があり、顧客データのテーブルにリンクを貼っています。 共有フォルダ「営業資料」には アクセス可能ユーザーに「suzuki」、「tanaka」を設定しました。 共有のアクセス許可でsuzukiは「フルコントロール」設定を、tanakaは「読み取り」のみ設定をしています。 この時クライアントPC1では顧客データに読み書きできますが、 クライアントPC2からアクセスすると、「顧客データ.mdbは既に使用されているので、使用できませんでした」 メッセージが表示されます。 共有のアクセス許可を「フルコントロール」に設定すれば読み書きできます。 クライアントPC2から「読み取りのみ」でアクセスすることはできますか? 宜しくお願いします。

  • afin
  • お礼率54% (26/48)

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.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 ユーザーレベルセキュリティを設定する方法もありますが、 ややこしいのでお勧め出来ません。 (アクセス権はいずれにしても拡大する必要があります)

afin
質問者

お礼

nicotinism さん  回答ありがとうございます。 ご指導のように「テーブルデータを保護する」を参考に変更してみたのですが、フォーム項目にテーブルを指定している箇所が多数にあるため見送りました。 今回は共有フォルダを更新可にして、フォームのレコードセットをスナップショットにすることで対応しました。 (とりあえずはフォームからデータを更新できなくするだけで良いので・・・) 色々と勉強になりました。ありがとうございました。

その他の回答 (1)

  • chie65535
  • ベストアンサー率43% (8518/19364)
回答No.1

>クライアントPC2から「読み取りのみ」でアクセスすることはできますか? mdbファイルは、ご存知のように「2人で同時に使用しようとすると、排他制御されて、1人しか開けない」ようになっています。 この排他制御は「同時での書き込みは許さない排他的な読み書きモードでオープン」する事で行います。 こうすると、1人目がオープンするとオープンに成功」して、2人目がオープンするとオープンに失敗します。 そして「オープンに失敗する」と 「***.mdbは既に使用されているので、使用できませんでした」 と言うメッセージを出して終了します。 ここで、ファイルのアクセス権に「書き込み権がない」と、1人目のオープンであっても「オープンに失敗」します。 前述のように「オープンに失敗したら、多重オープンだと思ってエラーにする」のですから、書き込み権のないmdbを開こうとすると、常に 「***.mdbは既に使用されているので、使用できませんでした」 と言うメッセージを出して終了します。 以下は機械翻訳なので日本語が変ですが、mdbを読取専用で開く場合についての説明です。 http://support.microsoft.com/kb/195475/ja ここにも「デフォルトでは、読み取り/書き込みモードでデータベースを開きます。」と書かれています。

関連するQ&A

  • XP→XPの共有にアクセス出来ない

    サーバーPC OS:WinXP Pro コンピュータ名:IBM-Server アカウント名:NEC-PC, Dell-PCが登録してある 共有フォルダ:営業資料 クライアントPC1 OS:Win7 Home コンピュータ名:NEC-PC アカウント名:鈴木 クライアントPC2 OS:XP Home コンピュータ名:Dell-PC アカウント名:田中 上記の構成でサーバーPCの共有フォルダ「営業資料」を作成し アクセス可能ユーザーに「NEC-PC」、「Dell-PC」を設定しました。 (Evreoneの設定は削除しました) この時クライアントPC1から「営業資料」に読み書きできますが、 クライアントPC2から「営業資料」にアクセスすると、アクセス出来ませんと メッセージが表示される。 どうすればクライアントPC2からサーバーPCにアクセスして読み書きすることが できますか? 宜しくお願いします。

  • これもaccessファイルを共有している事になりま

    これもaccessファイルを共有している事になりますか? 1つのパソコン(vista)を複数のユーザーで共有し db1.mdbをパブリックのフォルダに置き ユーザー1ログオン時に、db1.mdbを開き ユーザーを切り替えて ユーザー2でログオンし、db1.mdbを開いてデーター入力することも 「アクセスを共有してる」 「db1.mdbを共有して使ってる」 という事になりますか?

  • IUSR_MACHINEでMDBアクセスができない

    こんにちは、よろしくお願いいたします。 クラシックASPでシステムの作成を行っております。 DBはAccessの2003で、SP3があたっております。 IISは7で、Windows 2008 Server上に設置してあります。 先刻急に、SELECTでのデータ取得は可能なものの、 INSERTやDELETEによるデータ更新ができなくなりました。 (それまでは問題なくできていました。) 一応データ取得が可能であるので、権限の問題かと思いましたが、 MDBファイル自体に[IUSR_マシン名]のフルコントロール、 さらにMDBファイルを置いてあるディレクトリ自体にも [IUSR_マシン名]のフルコントロールを持たせたのですが、改善しません。 (ちなみに、MDBファイル上から直接クエリを実行した場合正常にデータ更新できます。) (また、Winプロセス上にACCESSのプロセスが残っていないことは確認済みです。) 試しに、MDBファイル自体に[Everyone]のフルコントロールを あててみたところ、データ更新ができるようになりました。 ということはMDBファイルにアクセスしている…ひいては WEBシステム利用時のユーザーが[IUSR_MACHINE]ではない ということになるのかと思いますが、実際に実行している ユーザー名を取得する方法が分かりません。 それが分かれば、そのユーザーに権限さえ与えてあげれば [Everyone]にフルコントロールを与えるという危険な行為は 避けれると思います。 上記のような状況なのですが、 [Everyone]へのフルコントロール以外で 改善する良い方法は無いものでしょうか? よろしくお願いいたします。

  • 共有フォルダがなぜか「読み取り専用」

    Windows2000のクライアントで、ファイルサーバ内の共有フォルダにフルコントロールさせるための正規の設定を行っても、どうしても共有フォルダ内のファイルがすべて「読み取り専用」となってしまいます。 試しに他のクライアントで上のマシンと同じユーザを作成しアクセスした所、正常に「フルコントロール」ができました。 このような状況ですので、サーバの設定ではなく、Win2000クライアントの方に問題があると想定できますが、どのようにすれば「フルコントロール」にすることができるのでしょうか?

  • Accessを共有できません

    会社の共有サーバに、ワードやエクセルで作ったデータを保存して10人ほどの社員で使っています。(クライントPCはXPです) 同じようにAccessで簡単なデータベース(ファイル名.mdb)を作り、共有サーバに保存しましたが、どのクライアントPCからも開けません。 自分のPCでは開けました。これでは共有サーバの意味がありません。 Accessはワードやエクセルのようにはいかないのでしょうか?ご存知の方がいらしたら、お教えください。

  • Accessが共有できません

    会社の共有サーバに、ワードやエクセルで作ったデータを保存して10人ほどの社員で使っています。(クライントPCはXPです) 同じようにAccessで簡単なデータベース(ファイル名.mdb)を作り、共有サーバに保存しましたが、自分のPCも含め、どのクライアントPCからも開けません。 これでは共有サーバの意味がありません。 Accessはワードやエクセルのようにはいかないのでしょうか?ご存知の方がいらしたら、お教えください。

  • Guestアカウントでなぜアクセスできないのですか

    PC1とPC2の2台のWindows 7 Ultimate 64 SP1で、ルータを用いてLANを組んでいます。どちらも、IDとパスワードを用いてログオンしています。 「ホームネットワーク」ではなく「社内ネットワーク」を利用しています。 PC1にはEveryoneが作ってあってそのフルコントロールをONにしてあります。 今日だけ仮にPC2にGuestというアカウントを作り、PC2にGuestアカウントでログオンしました。 この状態でPC2からPC1にアクセスしようとすると、PC1ではEveryoneをフルコントロールにしてあるので、PC2のGuestアカウントはPC1のEveryoneを用いてPC1にフルコントロールでアクセスできると思いました。 でも、実際にアクセスしようとするとパスワードの入力を求められます。 なぜ、パスワードの入力を求められるのでしょうか。 GuestアカウントでPC1にアクセスするにはどうしたらいいでしょうか。

  • アカウント

     学校でデータを保存するときにサーバーを使うのですが・・・ アカウントを設定できます (アドミニストレターをフルコントロールにしておけばかえてもいい) クラスメイトがアクセスできるよう 親ホルダーのアクセス権にクラスメイトのアカウントをたしました (ちなみに子ホルダー(共有)のみ追加、削除、変更、一覧が可能・・・ アクセス権の変更は出来ない) 一覧にSTUDENT(つづりが違うかも)が一覧可能になっていたので許可をはずすと 自分が入れなくなってしまいました・・・ (アクセス権がありませんというアラートが出た) アドミニストレターに直してもらいましたが・・・ なぜ自分はフルコントロールなのに入れなくなったのですか? STUDENTが優先されるからですか? ちなみに学校の先生にはそんな基本的なことは恥ずかしくて聞けません・・・

  • Accessファイルの共有について

    一台のサーバーPCと数十台クライアントPCでLANを組んでいます。サーバーPCのOSはWindows2003でクライアントはWindoesXP若しくはWindows2000です。 ここで、質問はAccess2000のmdbファイルの共有についてです。 サーバーの共有フォルダーにあるmdbファイルをクライアントで共有で使っているのですがうまく開かないことがあります。具体的には数台のクライアントPCからはサーバーの共有フォルダーをクリックするとログオンパスワードを聞いてきますので入力するとそのフォルダーが開き、mdbファイルをダブルクリックするとファイルが開きます。しかし、他のクライアントPCからはこの方法では開きません。クライアントPCで先にAccess2000を起動させえておき、そこからファイル→開く→マイネットワークと進みます。そしてパスワードを入力してログオン完了後、該当のmdbをクリックすると開きます。 なぜ、このようなことが起こるのかわかりません。後者の方法だとショートカットも張れないし不便を感じています。すべてのクライアントPCから前者の方法でmdbファイルを開きたいのですが何か設定が必要なのでしょうか。 各クライアントPCからサーバーへはPingが通りますのでネットワーク的にも問題はないように思えるのですが、アドバイスお願いできますでしょうか?

  • XP同士のアクセス権を使用した共有について

    ワークグループ環境で、XPが10台ほどあります。そのうちの一つをファイルサーバのようにして使用し、さらにアクセス制限を掛けたくて、以下を実行しました。(とにかくネットで調べまくって、いろんな情報を掻い摘んで行ったので不安です) 1.サーバとなるPCに他のPCと同じユーザ名のアカウントを作成し、パスワードを設定する。 2.共有したいフォルダで、それぞれのアカウントを追加し設定する。(共有権) 3.クライアントとなるPCからサーバとなるPCに接続するときに、サーバ側で設定したパスワードではいる。 とやると、一応実現はできました。しかし、知識が足りないため、いろいろ引っかかるところがあります。そこでお聞きしたいのが、 (1)1でアカウントを作成するとき、わけもわからずとりあえず管理者として作りました。しかし、管理者が何人もできるので不自然すぎる・・・・と思い、試しに、1つだけアカウントを制限付きのユーザにしたのですが、フルコントロールにしても読み取りしかできないのです。この場合、共有となるフォルダで、「セキュリティ」タブの方で設定しないといけないのでしょうか? (2)(1)に関連するのかわかりませんが、現在クライアントとなるPCはサーバ側に全て管理者としてログオンしている状況です。クライアント側のマイネットワークにおそらく管理用ドライブC?が表示されている。(サーバのコンピュータ名―C$)みたいなやつです。これは、サーバ側のアカウントを制限付きにすれば表示されなくなりますか?

専門家に質問してみよう