データベースを作成してレコードの蓄積が増えてくる中で、不要なデータを削除する機会が出てきます。特に、条件に応じたレコードを一括で削除する場合に、削除クエリを活用することがお勧めです。今回は、Accessの削除クエリについてSQL文と併せて見ていきましょう。
サンプルデータについて
サンプルデータについては、氏名、年齢、所属をまとめたものを更新クエリの紹介時に作成していますが、その際に使用したテーブルを今回も使用したいと思います。(サンプルデータを保存したテーブルの名称を「所属テーブル」とします。)
現状、所属テーブルのレコードは次のようになっています。
表1 サンプルデータ
氏名 | 年齢 | 所属 |
鈴木 一郎 | 45 | 販売チーム |
渡辺 次郎 | 30 | 販売チーム |
山田 三朗 | 56 | 販売チーム |
佐藤 四巳 | 58 | 事務チーム |
堀越 五作 | 43 | 事務チーム |
米津 六実 | 22 | 企画チーム |
今回は、このサンプルデータを用いて、削除クエリの使い方を見ていきましょう。
削除クエリの作成
まずは、クエリを作成して、テーブルの追加で「所属テーブル」を選択します。次に、クエリ設定画面の【フィールド】に「氏名」、「年齢」及び「所属」フィールドを設定します。そして、「デザイン」タブの「削除」アイコンをクリックします。
これにより、画面が切り替わり、図1のように【レコードの削除】項目が選択できるようになる。
この状態で、レコードを選択的に削除してみましょう。
レコードの削除方法
サンプルデータの内、「所属」フィールドが「販売チーム」の値をもつレコードを削除する方法を見てみましょう。この場合、図1に示している通り、「所属」フィールドの【抽出条件】項目に「販売チーム」と入力し、画面左上の「実行」アイコンをクリックすると図2に示すダイアログボックスが表示されるため、「はい」をクリックすることで削除が実行されます。
削除操作後の「所属テーブル」を確認してみてください。この結果、「所属」フィールドに 「販売チーム」の値をもつレコードが全て削除されていることが確認できたと思います。
今回は、「所属」フィールドだけに条件設定しましたが、「年齢」フィールドにも抽出条件を設定すれば、年齢と所属を抽出条件として両方の条件に適合するレコードを削除することができます。これは、Excelよりも簡単に対象レコードを抽出することができるため、業務効率は向上すると思います。
なお、今回の例におけるSQL文は次のようになります。
DELETE 所属テーブル.氏名, 所属テーブル.年齢, 所属テーブル.所属
FROM 所属テーブル
WHERE (((所属テーブル.所属)=”販売チーム”));
ここで、ポイントとなる点は「DELETE field FROM A WHERE B」という構文です。
SQL文ではDELETE構文を用いることで、WHERE条件に一致したレコードを削除することができます。 このように、レコードの削除条件を設定することで、業務効率の改善が図れますので、是非削除クエリを活用していただければと思います。
まとめ
今回はデータベースにおけるレコードの削除方法について紹介しました。Accessでは、削除に係るSQL文を削除クエリを通じて作成してくれますので、是非業務効率の改善に向けて活用していただければと思います。
スポンサーリンク
コメント