Access。意外と知られていない「スナップショット」でクエリでの更新を阻止
<Access クエリ スナップショット>
Accessで一番活躍するのは、【クエリ/Query】ですね。
条件によって、データを抽出しれくれますし、
そのクエリをExcelファイルにエキスポートすれば、
Excelを使った資料作りも容易になります。
さて、そのクエリなのですが、テーブルを元にして作成していきます。
そこで、あまり、Accessになれていない人。
特にExcelで慣れている人が陥りやすいのですが、
Accessはデータベースソフトなので、データは基本的に、
上書きされて常時保存されるわけですね。
ですので、テーブルを開いて、何気なく、悪気も無く、
データを触って改編しちゃうと、データが上書きされてしまって、
取り返しの付かないことが発生してしまうかもしれません。
ですので、
フォームでは、データを見せるだけで触らせないという設定をすることができます。
となると、このテーブルを元に作成するクエリですが、
当然、テーブルのデータを条件で抽出してくるわけですので、
クエリであっても、何気なく、悪気がなくったって、
データを改編しちゃう恐れがあるわけです。
そこで、フォームのようにクエリでも、データを閲覧だけ出来るようにする。
すなわち、触れない改編出来ないようにする方法。
それが、
【スナップショット】
なのです。意外と知られていないようですので、
Accessに不慣れなスタッフさんがいる場合などに、
設定してあげると、
Accessに不慣れなスタッフさんを不幸にしないですみますので、
お勧めの設定の一つです。
設定も簡単なので、是非使ってみてください。
ということで、早速ご紹介していきましょう。
まず、該当するクエリをデザインビューで開きます。
そして、デザインタブのプロパティシートをクリックします。
この時、フィールド名などクリックしていると、
そのプロパティがプロパティシートで表示されてしまいますので、
どこも触らずに、プロパティシートをクリックするようにしましょう。
プロパティシートの作業ウィンドウが開きましたら、
選択の種類が、クエリプロパティになっていることを確認して、
レコードセットがダイナセットになっていますので、
▼をクリックして、その中にある、【スナップショット】をクリックしましょう。
たったコレだけです。
では、データシートビューで表示して、
データを修正してみようとするとステータスバーに、
「このレコードセットは更新出来ません。」
と表示されて、修正出来ないことが確認出来ます。
このように、クエリを表示することが多いけど、
閲覧だけの場合には、【スナップショット】を設定するといいかもしれませんね。