プロが教えるわが家の防犯対策術!

Windows2003サーバーにAccess2000のファイルがあります。Access2000のファイル作成時は、WindowsXPで作成してあります。他のPCで開いている時に、Windows98(PCを読み取り専用に設定)でファイルを開こうとすると「ファイルをロックできませんした」のエラーメッセージが出て開けません。
何か、設定方法があるのでしょうか?

A 回答 (5件)

無理だと思います。


Accessは、更新時自動書き込み型の
アプリケーションです。他のPCでファイルを
開いた時点で排他的ロックを掛けてしまいます。

ですから、他のPCで開いているファイルは、
開くことはできません。

そうしないと、同じデータベースを複数の人が
更新できることになり、整合性が保持できませ
んから。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2005/06/17 16:57

> 他のPCで開いている時に、



Access 2000 でデータベースを排他モードで開く方法
http://support.microsoft.com/default.aspx?scid=k …

排他モードで開いてたりしませんか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
排他モードではなく、共有モードで開いています。

お礼日時:2005/06/17 11:50

特段の設定をしていなければ、「共有モード」でDBが開かれていると思いますので、どこのPCからもアクセルができ、書き込みもできます。



今回の場合・・・
>Windows98(PCを読み取り専用に設定)・・・
とありますが、これはどういう意味でしょうか?
サーバー側からこのPCに対して制限をかけたのでしょうか?
Windows98からサーバー側へ読取専用のアクセス制限をかけたのでしょうか?
つまり、Windows98からサーバー側への書込み不可ということですか?

だと仮定すると、DBを開く際にリソース(資源)管理を行うためにXXX.ldbというファイルをAccessは勝手に作成しにいきますので、書込み制限があるとそれができないのでファイルのロックエラーになります。

この回答への補足

回答ありがとうございます。
Win98のPCそのものを読み取り専用にしているのではなく、Win98にログインするユーザー名に読み取り専用の制限を掛けています。Win98は、何人かが操作するので、アクセスの内容を変更されないように、読み取り専用のユーザーで、ログインするようにしています。
当然、アクセスを作成してるユーザー名とは別です。
それでも何とかなりますでしょうか。
説明は、これで伝わっています?

補足日時:2005/06/17 11:50
    • good
    • 0

Accessのワークグループ管理で読み取り制限をしているわけではないのですね。



だとすると、やはりPCへログインしたユーザーは書込みできないわけですから、XXX.ldbの作成や内容の更新ができないことになりますね。
DBへのアクセス可能なPCより、DB(XXX.mdb)を立ち上げ、その時同じフォルダーにできるXXX.ldbというファイルをNotePad(メモ帳)などのeditorソフトで開いてみてください。
当該PCの識別番号が書き込まれているはずです。
これはAccessが勝手にシステムとして書き込むものです。

テキストファイルを開くのと違い、AccessのDBを開く場合には、ただDBを開くだけでこのような更新が行われます。
これが読み取り制限のかかったユーザーではできないのでエラーになったのではないでしょうか?
(試したことが無いので、想像ですが)

もし、これが原因だと仮定しますと回避の方法としては、一般的に行われているXXX.mdeの作成ですね。
「MDE」でhelpを検索していただければ詳しく書かれていますが、「ツールー>データベースユーティリティーー>MDEファイルの作成」で簡単に作れます。

XXX.mdeにはソースコードが無い実行形式のファイルなため、フォームのデザイン変更ができません。

ワークグループ管理を行えば、様々な制限ができますし、その他にもいろいろ方法がありますが、ここでは省略します。
    • good
    • 0
この回答へのお礼

早速の回答、ありがとうございました。

お礼日時:2005/06/17 16:59

読み取り専用のユーザーで、ログインしていれば、Accessを開く事は出来ません、同一フォルダーにXXX.ldbが更新モードで生成出来ないから。

利用者は更新可能ユーザーにすべきです。Accessの設計を変えられる危険があるのなら設計を変えれないMDEファイルで共有するか、AccessDBのセキュリティーで管理すべきでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございました。参考にさせていただきます。

お礼日時:2005/06/17 17:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!