アクセスの使い方⑧では、「アクションクエリ」について説明します。「アクションクエリ」とは、データをコピーしたり変更したりするクエリのことです。
アクションクエリは、「テーブル作成クエリ」「削除クエリ」「追加クエリ」「更新クエリ」の4種類があります。
目次
1.テーブル作成クエリ
「テーブル作成クエリ」は既存のレコードから条件にあてはまるレコードをコピーして新規のテーブルを作成するクエリです。
「T商品マスター」を元にクエリを作成してみます。
テーブル作成クエリを確認するために、「T商品マスター」に「製造中止」フィールド(Yes/No型)を追加しておきます。
「パンケーキ」の「製造中止」に☑を入れておきます。
「T商品マスター」から、製造中止されているレコードをコピーして、新たなテーブルにレコードを貼り付けるクエリを作成します。
新たなテーブルの名前は「T商品マスター(製造中止)」とし、テーブルを作成を実行するためのアクションクエリの名前は「Q商品マスター(製造中止)テーブル作成」とします。
①「T商品マスター」をクリックして、《作成》タブー《クエリ》グループー《クエリデザイン》をクリック。
②クエリウィンドウに「T商品マスター」テーブルを追加する。
③「フィールドリスト」から「商品CD」「商品名」「単価」「製造中止」フィールドをデザイングリッドに追加。
④「製造中止」の抽出条件に「Yes」と入力する。
⑤《デザイン》タブー《クエリの種類》グループー《テーブルの作成》をクリック。
⑥《テーブルの作成》ダイアログボックスに「T商品マスター(製造中止)」とテーブル名を入力してOK。
⑦次にクエリに名前を付けます。F12キーを押して、「Q商品マスター(製造中止)テーブル作成」と入力してOK。
ナビゲーションウィンドウに、「Q商品マスター(製造中止)テーブル作成」クエリが作成されました。
このクエリはまだ実行していないので、テーブルは4つです。クエリを実行するとテーブルがひとつ増えます。
アクションクエリを実行すると、次の1件がコピーされて新しいテーブルが作成されます。
<商品マスター>
⑧「Q商品マスター(製造中止)テーブル作成」をダブルクリックします。
次のようなメッセージが表示されたら、はいをクリック。
⑨次のメッセージもはいをクリック。
⑩テーブルに「T商品マスター(製造中止)」が作成されました。
テーブルをダブルクリックして開くと、データが1件のデータがコピーされました。
2.削除クエリ
「削除クエリ」は、既存のレコードから指定したレコードを削除するクエリです。
<商品マスター>
削除クエリを作成する前の注意!
「参照整合性」が設定されている場合、参照元のレコードを削除すると参照元と参照先のテーブルに矛盾が生じるため削除できません。
削除クエリを作成する場合は、参照整合性の緩和を設定します。
「レコードの連鎖削除」を☑すると、参照元のレコードの削除に伴い、参照先のテーブルのレコードも削除されます。
「リレーションシップウィンドウ」を表示して設定します。
①結合線をダブルクリック。
②《リレーションシップ》ダイアログボックスー《レコードの連鎖削除》に☑します。
③上書き保存して閉じる。
①「T商品マスター」をクリックして、《作成》タブー《クエリ》グループー《クエリデザイン》をクリック。
②クエリウィンドウに「T商品マスター」テーブルを追加する。
③「フィールドリスト」から「商品CD」「商品名」「単価」「製造中止」フィールドをデザイングリッドに追加。
④「製造中止」の抽出条件に「Yes」と入力する。
⑤《デザイン》タブー《クエリの種類》グループー《削除》をクリック。
⑥「Q商品マスター(製造中止を削除)」と名前を付けて保存して、閉じます。
削除クエリを実行してみます。
⑦「Q商品マスター(製造中止を削除)」をダブルクリックして実行します。
メッセージが表示されたら、はいをクリック。
⑧次のメッセージもクリックする。
⑨「T商品マスター」テーブルを開いて確認します。
製造中止の「ホットケーキ」が削除されました。
注意ポイント
「削除クエリ」を実行すると、レコードが完全に消去されてしまいます。
削除したレコードを記録として残しておきたい場合には、削除する前に「テーブル作成クエリ」を実行して別テーブルに保存しておくことをお勧めします。
「テーブル作成クエリ」は、はじめの1回のみ作成します。
そのテーブルにデータを追加していきたい場合には「追加クエリ」を実行していきます。
3.追加クエリ
「追加クエリ」は「テーブル作成クエリ」にレコードを追加するクエリです。
新たに製造中止になったレコードを「T商品マスター(製造中止)」テーブルに追加してみます。
追加クエリを確認するために、「T商品マスター」の「製造中止」に☑をしておきます。
①「T商品マスター」をクリックして、《作成》タブー《クエリ》グループー《クエリデザイン》をクリック。
②クエリウィンドウに「T商品マスター」テーブルを追加する。
③「フィールドリスト」から「商品CD」「商品名」「単価」「製造中止」フィールドをデザイングリッドに追加。
④「製造中止」の抽出条件に「Yes」と入力する。
⑤《デザイン》タブー《クエリの種類》グループー《追加》をクリック。
⑥《追加》ダイアログボックスから、追加するテーブルを選択します。
テーブル名をクリックして、「T商品マスター(製造中止)」とクリックしてOK。
⑦「Q商品マスター(製造中止の追加)」と名前を付けて保存して、閉じます。
追加クエリを実行します。
<現在の「T商品マスター(製造中止)」>
データが1件入っています。
⑧追加クエリを実行します。
メッセージが表示されたら、はいをクリック。
⑨次のメッセージもはいをクリック。
⑩「T商品マスター(製造中止)」開いて、確認します。データが1件追加されて2件入っています。
4.更新クエリ
更新クエリは、いっきにデータを書き換えることができるクエリです。例えば、「DM」(ダイレクトメール)のフィールドのチェックボックスの✔をいっきに付けたり外したりする場合に利用します。
全てのレコードを更新したり、抽出条件を指定して一部のレコードを更新したりすることができます。
では、今回は「Tお客様マスター」から更新クエリを作成してみます。
はじめに、現在の「Tお客様マスター」を開いて確認!
DMの☑が、まばらについています。
☑をはずす更新クエリと☑を付ける更新クエリを作成してみます。
(1)全てのレコードの☑をはずす更新クエリを作成
①「Tお客様マスター」を選択して、《作成》タブー《クエリ》グループー《クエリデザイン》をクリック。
②《テーブルの表示》ダイアログボックスー《Tお客様マスター》を追加します。
③フィールドリストのタイトルバーをダブルクリックして全てのフィールドを選択。
④フィールドをデザイングリッドにドラッグして全てのフィールドを追加。
⑤《デザイン》タブー《クエリの種類》グループー《更新》をクリック。
⑥デザイングリッドの上から3行目に《レコードの更新》行が追加されるので、《DM》フィールドに「Off」と入力。
⑦「Qお客様マスターDMオフに更新」と名前を付けて保存して、閉じます。
⑧クエリを実行します。
「Qお客様マスターDMオフに更新」をダブルクリック。次のメッセージが表示されたら、「はい」をクリック。
⑨次のメッセージも「はい」をクリック。
⑩「Tお客様マスター」を開いて確認します。
※「DM」フィールドの☑が全てオフになりました。
(2)抽出したレコードだけに☑を付ける更新クエリの作成
今回は、「担当者CD」が「13」のレコードを抽出し、そのレコードのみに☑をつけてみます。
①「Tお客様マスター」を選択して、《作成》タブー《クエリ》グループー《クエリデザイン》をクリック。
②《テーブルの表示》ダイアログボックスー《Tお客様マスター》を追加します。
③フィールドリストのタイトルバーをダブルクリックして全てのフィールドを選択。
④フィールドをデザイングリッドにドラッグして全てのフィールドを追加。
⑤《担当者CD》の《抽出条件》に「13」と入力して実行します。
5件抽出されました。
⑥次に「更新クエリ」を作成します。
《デザイン》タブー《クエリの種類》グループー《更新》をクリック。
デザイングリッドの上から3行目に《レコードの更新》行が追加されるので、《DM》フィールドに「on」と入力。
⑦「Qお客様マスターDMをオンに更新」と名前を付けて保存して、閉じます。
⑧クエリを実行します。
「Qお客様マスターDMをオンに更新」をダブルクリック。
メッセージが表示されたら、「はい」をクリック。
⑨次のメッセージも「はい」をクリック。
⑩「Tお客様マスター」を開いて確認します。
※担当者CD「13」のレコードのみ「DM」の✔がオンになりました。
※次の操作のために、「Qお客様マスターDMオフに更新」を実行しておきます。
(3)パラメータクエリとの組み合わせ
更新クエリを編集して、担当者CDの抽出の部分にパラメータクエリを設定して、毎回違う条件で更新できるようにしてみます。
①「Qお客様マスターDMをオンに更新」をデザインビューで開く。
②「担当者CD」フィールドに次のように入力。
[担当者CDを入力しましょう]
③上書き保存して、閉じる。
④パラメータクエリを実行して確認しましょう。
「Qお客様マスターDMをオンに更新」をダブルクリック。メッセージが表示されたら「はい」をクリック。
⑤任意の担当者CD「15」などと入力します。
⑥メッセージが表示されたら「はい」をクリック。
⑦「Tお客様マスター」を開いて確認します。
※担当者CD「15」のレコードのみ「DM」の✔がオンになりました。
アクセスの使い方⑨ 初心者向け【 フォームの作成 編集ロックや使用可能プロパティ】へ