1/31/2017

Access。意外と知られていない「スナップショット」でクエリでの更新を阻止

Access。意外と知られていない「スナップショット」でクエリでの更新を阻止

<Access クエリ スナップショット>


Accessで一番活躍するのは、【クエリ/Query】ですね。

条件によって、データを抽出しれくれますし、
そのクエリをExcelファイルにエキスポートすれば、
Excelを使った資料作りも容易になります。

さて、そのクエリなのですが、テーブルを元にして作成していきます。

そこで、あまり、Accessになれていない人。

特にExcelで慣れている人が陥りやすいのですが、
Accessはデータベースソフトなので、データは基本的に、
上書きされて常時保存されるわけですね。

ですので、テーブルを開いて、何気なく、悪気も無く、
データを触って改編しちゃうと、データが上書きされてしまって、
取り返しの付かないことが発生してしまうかもしれません。

ですので、
フォームでは、データを見せるだけで触らせないという設定をすることができます。

となると、このテーブルを元に作成するクエリですが、
当然、テーブルのデータを条件で抽出してくるわけですので、
クエリであっても、何気なく、悪気がなくったって、
データを改編しちゃう恐れがあるわけです。

そこで、フォームのようにクエリでも、データを閲覧だけ出来るようにする。

すなわち、触れない改編出来ないようにする方法。
それが、

【スナップショット】

なのです。

意外と知られていないようですので、
Accessに不慣れなスタッフさんがいる場合などに、
設定してあげると、
Accessに不慣れなスタッフさんを不幸にしないですみますので、
お勧めの設定の一つです。

設定も簡単なので、是非使ってみてください。

ということで、早速ご紹介していきましょう。

まず、該当するクエリをデザインビューで開きます。

そして、デザインタブのプロパティシートをクリックします。

この時、フィールド名などクリックしていると、
そのプロパティがプロパティシートで表示されてしまいますので、
どこも触らずに、プロパティシートをクリックするようにしましょう。

プロパティシートの作業ウィンドウが開きましたら、
選択の種類が、クエリプロパティになっていることを確認して、
レコードセットがダイナセットになっていますので、
▼をクリックして、その中にある、【スナップショット】をクリックしましょう。

たったコレだけです。

では、データシートビューで表示して、
データを修正してみようとするとステータスバーに、
「このレコードセットは更新出来ません。」

と表示されて、修正出来ないことが確認出来ます。

このように、クエリを表示することが多いけど、
閲覧だけの場合には、【スナップショット】を設定するといいかもしれませんね。