アクションクエリ(更新・追加・削除・テーブル作成)
アクションクエリと呼ばれる「更新クエリ」「追加クエリ」「削除クエリ」「テーブル作成クエリ」は、クエリを通してテーブルのデータを変更するタイプのクエリです。
Accessでは、Excelなどと違ってデータを入力した時点でデータが保存されます。つまり、アクションクエリを実行すると、二度と元に戻せなくなってしまうということです。
ということで、僕はあまり使ったことないです。。。
通常のクエリと同じ方法でクエリを作った後で、クエリメニューから「更新」「追加」「削除」「テーブル作成」を選択する。
更新クエリ
一度に大量のデータを変更したい場合や、複数のテーブルにまたがるデータを修正したい場合は、テーブルを開いて全レコードを探し出して修正したり、検索・置換機能を使って修正する方法がありますが、更新クエリを使うとデータの検索から修正入力までを一括で処理することができます。
更新クエリは、必要なデータを抽出し、指定したフィールドのデータを変更する計算を行い、データを変更する処理を、抽出レコード全件に対して実行してくれる便利なクエリです。
更新クエリでは、対象となるフィールドの抽出条件を通常のクエリと同じように「抽出条件」欄に指定し、抽出したデータをどのように更新するかを「レコードの更新」欄に記述します(複数の抽出条件や、複数のフィールドに更新を実行する事も可能です)。
このように、条件抽出とデータの更新を組み合わせて実行するのが、更新クエリです。
追加クエリ
追加クエリは、あるテーブルに別のテーブルのフィールドデータをレコード単位で追加するクエリです。追加先が別の場所に保存してあるデータベースであっても追加することができます。
追加クエリを使用すると、複数のテーブルを一つにまとめることができます。膨大なデータを複数の人で分担して入力し、一つのテーブルにまとめる、などという場合に威力を発揮します。
なお、追加元と追加先のデータ型が同じでないとエラーが発生して追加できません。
追加クエリのデザインビューには「レコードの追加」欄があります。この欄には、追加先のどのフィールドに指定したフィールドを追加するのかを指定します。他の設定は通常のクエリと同じですので、「抽出条件」欄に条件を設定して条件にあったレコードのみを追加することも可能です。
削除クエリ
削除クエリは、ちょうど追加クエリの逆で、条件抽出したレコードをテーブルから削除するクエリです。
リレーションシップを設定してあるテーブルに削除クエリを実行すれば、複数のテーブルに対し関連するデータを一括で削除することができます。データはフィールド単位での削除ではなく1レコード分が削除されることになります。
例えば、社員情報を管理しているデータベースから、結婚退職した社員のデータを削除する、などという場合、この社員データが複数のテーブルにまたがっているなら、削除クエリを使って削除すると便利です。
削除クエリのデザインビューには「レコードの削除」欄があります。この欄には、「From」あるいは「Where」が表示され、「From」が削除の対象を、「Where」が削除の条件を示すようになっています。
削除クエリでは、1つのフィールドだけ削除するということはできず、削除の対象は全フィールドとなります(1レコードの全フィールド)。つまり削除の対象は必ず全フィールドを表す「*」となり、フィールド「*」を「フィールド」欄に追加すると、自動的に「レコードの削除」欄には「From」が表示されます。同じように、1つのフィールドを「フィールド」欄に追加すると自動的に「レコードの削除」欄には「Where」が表示されます。
テーブル作成クエリ
テーブル作成クエリは、クエリによって複数のテーブルからデータを抽出した結果を、新しいテーブルとして作成するクエリです。
特にいくつものテーブルにまたがってデータを大量に抽出するクエリや、膨大なデータが蓄積されているテーブルに対し複雑な条件でクエリを実行する場合は、クエリの実行そのものに時間がかかってしまいます。このような重たいクエリを何回も実行しいくつものレポートを作成する、などというような処理の場合は、クエリの結果を一度テーブルに作成し、これを基に他の処理を行えば、重たいクエリを何回も実行するよりも短い時間で作業が行えます。このような時にテーブル作成クエリを利用します。
他のデータベースにテーブルを作成することも可能です。
本
- ExcelユーザーのためのAccess再入門(瀬戸 遥)