ID非公開さん
2022/6/8 18:34
2回答
Access2019で、排他の状況を回避する方法を教えてください。 状況としては、以下の通りです。
Access2019で、排他の状況を回避する方法を教えてください。 状況としては、以下の通りです。 ・共有ファイルサーバーにテキスト形式でファイルを置き、それをAccess内にリンクテーブルとして読み込んでいる ・Access内でリンクテーブルを元にクエリを作成 ・そのAccessファイル(.accdb)を不特定多数に配り、各々のローカル環境に保存した上で使用する(Accessファイルは共有モードで配布) この状況でクエリを使用すると、よく「実行時エラー3051 ファイルを開くか、書き込むことができませんでした。他のユーザーが排他的に開いているか、データの表示と書き込みを行う権限がありません。」というエラーが出ます。 Access内でリンクテーブル単体を開くことは出来ますが、ユニオンクエリやリレーションを設定してあるクエリなどを実行することが出来ません。 リンクテーブルを使用しているので、サーバーにあるファイルに複数の人がアクセスすると出てくるエラーなのかと思っていたので、少し時間をずらして再度クエリ実行すると実行できていました。 ところが、数時間待ってもこのエラーが出続けることがあり、困るようになりました。 そこで質問です。 ①Accessファイルを開くときに、「排他モード」で開くことが出来ますが、各自のローカル環境に保存したAccessファイルで排他モードで開いた場合でも、このエラーが起きますか? ②サーバーのアクセス権は他者は読み取り専用で、自分は読み書きできるフルコンを持っています。 それでも自分にもエラーが出るので、書き込み権限は関係ないと思っています。 ほかにサーバーの設定により、この排他状況を回避する方法はありますか? ③自分では上記①②しか思いつかなかったのですが、この状況を回避する方法があったら教えてください。 複数の人が同時にAccessファイルのクエリを使用できるようにしたいです。 とても困っています。 小さなことでもよいので状況を打破する方法があったら教えてください。 よろしくお願いいたします。
Microsoft Access | Office系ソフトウェア・248閲覧・50
ベストアンサー
複数人が同時にaccessを使用する場合、リンクテーブル(元テキスト)にはせず、ローカルテーブルで私なら作ります。 元テーブルに依存しているクエリ・レポートを誰かが開いていればリンク元テーブルは読み取り専用になるので・・・ ①accessを開くと②③が動く感じ(データ更新ボタンを作成でも可) ②テーブル(元テキスト)削除 ③テーブル追加 みたいな感じで私なら作ります これでも③テーブル追加時に元テキストは読み取り専用でしか開かないため、別の人が③を行えばエラーが出ます、元ファイルの大きさで取り込む時間はまちまちです そもそも、 データ元ファイルがちょこちょこ更新される可能性があるのか? accessで何をするのか?(データのエクスポート、レポート印刷、クエリを開き内容の確認、データ元ファイルの更新等) とかでaccessの作り方も変わってくる気がします
1人がナイス!しています
質問者からのお礼コメント
ありがとうございます 元データは頻繁に更新するのと、すべてローカルテーブルにするとAccessで対応できるファイル容量を超えるため、リンクテーブルを使用しています。 でも回答を拝見して、一部のデータをローカルにすればよいのだと気づきました。 このヒントで作成できそうです、たいへん参考になりました。 ありがとうございました。
お礼日時:6/17 18:43