unknown
2008-10-16 09:03:01 UTC
実行時エラー番号3051の「読み取り専用エラー」について、
各所でさんざん登場していますが、
当方の状況と合致するものが見当たらないので、
原因、対応策をご教授いただける方がいらっしゃいましたら
よろしくお願いいたします。
・構成
1つのMDBファイルをデータベースファイル(以下DBファイル)とし、
もう1つのMDBファイル(以下PGファイル)にDBファイルの全テーブルへ
リンクテーブルを張って、PGファイルでVBA、クエリ、フォーム、レポートを
動かして処理を行っています。
PGファイルは複数の者が各自自分の端末にコピーして設置し、実行します。
DBファイルはサーバー(WindowsServer2003)にあります。
もちろんDBファイルには複数人が同時にアクセスすることになります。
・両ファイルの設定
DBファイル、PGファイルとも、「既定の開くモード」は共有モード、
「既定のレコードロック」は編集済みレコード、
「レコードレベルでロックして開く」をONにしています。
「既定のファイル形式」はともにAccess2000です。
PGファイルをユーザーに渡しているわけですが、
ここらの設定を変更する者はいません。
テーブルに対して権限の設定などはしていません。
・Windows上の設定
DBファイルはサーバーの共有フォルダにあります。
フォルダもファイルも、ドメインのEveryone完全フルアクセスです。
後述のとおり常時の症状ではないので、この点については問題なしとして
切り分けられると考えています。
・PGファイルを使用している端末の設定
Officeのインストール状況やネットワークにおける設定等に
端末間の差異はありません。
・発生する不具合
使用中に突然、上記のエラーが発生します。
「突然」というのは、起動しっぱなしで朝から普通に動かしていて、
ある処理(不特定です)を行ったとき突然、という意味です。
エラー箇所はレコードセットのEdit部分がほとんどです。
(確認するときはいつもEditですが、後述の現状対応策をユーザーに伝えており、
ユーザー側で対応してしまっているときは見ていないので、「ほとんど」としました。)
症状発生時にDBファイルを直接開こうとすると、
「読み取り専用のため更新等はできません。」(全文ではないですがご容赦ください)
と表示されます。開くことはできますが、編集はできません。
発生する処理はランダムで特定できませんが、
レコード数の大きいテーブルをいくつも使う処理など、重めの処理のとき、
あるいはそれが複数バッティングしたときが多いようです。
・現状対応策
構成に記載の通り複数人で使っていますので、全員にPGファイルを閉じてもらいます。
するとDBファイルを開くときに上記のメッセージが出なくなるので、
再度みんなに使用を開始してもらいます。すると正常に戻っています。
エラーになった時に行っていた処理を行っても今度は平気です。
足りない情報がありましたらご指摘ください。
なお記載の通り、フォルダ・ファイルのアクセス権とか端末の環境等については
問題がないものとしてご回答いただけることを望んでいます。
しつこくて申し訳ないですが、
・いつもは正常なものが突然不具合が発生する、
・これらの環境を一切変えなくても発生するし、復旧もする、
ので、Accessの問題でないと納得できないんです。
(念のためですが、DBファイルを置いているサーバーにWindowsの更新がかかったとか、
そういうタイミングではありません。)
ですので、そういうことに焦点を当てるのは避けてほしいです。
もちろん、それしか考えられない、又は明確にそこに原因があるというのであれば
仕方がありませんが・・・
長くなってしまいましたが、皆様のお知恵をお待ちしています。
各所でさんざん登場していますが、
当方の状況と合致するものが見当たらないので、
原因、対応策をご教授いただける方がいらっしゃいましたら
よろしくお願いいたします。
・構成
1つのMDBファイルをデータベースファイル(以下DBファイル)とし、
もう1つのMDBファイル(以下PGファイル)にDBファイルの全テーブルへ
リンクテーブルを張って、PGファイルでVBA、クエリ、フォーム、レポートを
動かして処理を行っています。
PGファイルは複数の者が各自自分の端末にコピーして設置し、実行します。
DBファイルはサーバー(WindowsServer2003)にあります。
もちろんDBファイルには複数人が同時にアクセスすることになります。
・両ファイルの設定
DBファイル、PGファイルとも、「既定の開くモード」は共有モード、
「既定のレコードロック」は編集済みレコード、
「レコードレベルでロックして開く」をONにしています。
「既定のファイル形式」はともにAccess2000です。
PGファイルをユーザーに渡しているわけですが、
ここらの設定を変更する者はいません。
テーブルに対して権限の設定などはしていません。
・Windows上の設定
DBファイルはサーバーの共有フォルダにあります。
フォルダもファイルも、ドメインのEveryone完全フルアクセスです。
後述のとおり常時の症状ではないので、この点については問題なしとして
切り分けられると考えています。
・PGファイルを使用している端末の設定
Officeのインストール状況やネットワークにおける設定等に
端末間の差異はありません。
・発生する不具合
使用中に突然、上記のエラーが発生します。
「突然」というのは、起動しっぱなしで朝から普通に動かしていて、
ある処理(不特定です)を行ったとき突然、という意味です。
エラー箇所はレコードセットのEdit部分がほとんどです。
(確認するときはいつもEditですが、後述の現状対応策をユーザーに伝えており、
ユーザー側で対応してしまっているときは見ていないので、「ほとんど」としました。)
症状発生時にDBファイルを直接開こうとすると、
「読み取り専用のため更新等はできません。」(全文ではないですがご容赦ください)
と表示されます。開くことはできますが、編集はできません。
発生する処理はランダムで特定できませんが、
レコード数の大きいテーブルをいくつも使う処理など、重めの処理のとき、
あるいはそれが複数バッティングしたときが多いようです。
・現状対応策
構成に記載の通り複数人で使っていますので、全員にPGファイルを閉じてもらいます。
するとDBファイルを開くときに上記のメッセージが出なくなるので、
再度みんなに使用を開始してもらいます。すると正常に戻っています。
エラーになった時に行っていた処理を行っても今度は平気です。
足りない情報がありましたらご指摘ください。
なお記載の通り、フォルダ・ファイルのアクセス権とか端末の環境等については
問題がないものとしてご回答いただけることを望んでいます。
しつこくて申し訳ないですが、
・いつもは正常なものが突然不具合が発生する、
・これらの環境を一切変えなくても発生するし、復旧もする、
ので、Accessの問題でないと納得できないんです。
(念のためですが、DBファイルを置いているサーバーにWindowsの更新がかかったとか、
そういうタイミングではありません。)
ですので、そういうことに焦点を当てるのは避けてほしいです。
もちろん、それしか考えられない、又は明確にそこに原因があるというのであれば
仕方がありませんが・・・
長くなってしまいましたが、皆様のお知恵をお待ちしています。