2010年06月10日

クエリでの書き込みを禁止するには

Access中級講座で頂いたご質問

Accessではデータはテーブルに保存されますが、このテーブルのデータは、クエリやフォームからでも修正することができます。

システム管理者が作成したAccessのシステムを、Accessの操作に慣れていないユーザーに配布する場合には、誤ってクエリからデータが修正されないように、クエリでの編集を禁止したいケースもあります。

この場合は例えばクエリのプロパティを利用する方法があります。

(手順)〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
1)クエリをデザインビューで開きます。

2)[表示]メニューから[プロパティ]を選択し、プロパティの画面を表示します。

ヒント:プロパティが 「クエリのプロパティ」ではなく「フィールドのプロパティ」になっている場合は、フィールドリストやデザイングリッド以外の部分をクリックすると「クエリのプロパティ」が表示されます。

3)プロパティから「レコードセット」を「スナップショット」に変更します。

ヒント:初期設定ではダイナセットが表示されています。ダイナセットを利用すると、一部の場合を除いてデータの編集が可能ですが、スナップショットはデータの修正ができなくなります。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

設定ができたらクエリを実行して結果を確認します。
レコードを追加するための「*」マークの行が表示されず、データの修正もできなくなります。

AccessはExcelに比べて、体系的な習得には手間がかかる一方、
ちょっとしたデータ編集ならば、Excelと似た操作で出来てしまう
手軽さもあります。

そのため「レコードの保存がどのタイミングで確定するか」を調べないままで修正作業を行ってしまうケースも多いようです。

Excelでは、シート内のデータを変更しても、ブック(ファイル)を保存せずに閉じれば、修正内容は破棄されますが、
Accessでは通常、1レコードずつデータが保存されていきますので、ここがExcelとは大きく異なります。

Accessのデータを、操作に慣れない担当者に配布する場合には、その「データが保存されるタイミング」について、説明した上で配布した方が安全なデータの活用が出来ると思います。

posted by Three bit com at 18:00| Access(アクセス)