Accessのアクションクエリについてお探しですね。
広告
Accessのアクションクエリを使いこなそう!データを一括操作する4つの便利機能
Microsoft Accessには、データベース内のデータをまとめて操作できる「アクションクエリ」という便利な機能があります。
普通のクエリ(選択クエリ)はデータを表示するだけですが、アクションクエリはデータそのものを書き換えることができる強力なツールです。
この記事では、アクションクエリの4つの種類「追加・更新・削除・テーブル作成」について、それぞれの使い方や注意点を分かりやすく解説していきます。
1. アクションクエリって何?4つの種類を知っておこう
Accessのクエリには「選択クエリ」と「アクションクエリ」の2種類があります。
選択クエリは条件に合うデータを探して表示するだけですが、アクションクエリはテーブルのデータ自体を書き換えることができます。
たとえば、たくさんのデータを一度に追加したり、条件に合うデータをまとめて更新・削除したり、抽出したデータから新しいテーブルを作ったりできるんです。
1件ずつ手作業で修正する手間が省けるので、データベースの管理作業がとても楽になります。
アクションクエリには目的に応じて4つの種類があります。
**追加クエリ**は既存のテーブルに別のデータを追加するときに使います。
**更新クエリ**は商品の値段を一斉に変更したり、ステータスをまとめて書き換えたりするときに便利です。
**削除クエリ**は古くなったデータをまとめて消すときに使い、**テーブル作成クエリ**は条件に合うデータだけを集めて新しいテーブルを作るときに活躍します。
この4つを使い分けることで、複雑なデータ処理も効率よくできるようになります。
ただし、アクションクエリには注意点があります。
データを直接書き換えてしまうので、実行した後に「元に戻す」ボタンで取り消すことができないんです。
間違った条件で実行してしまうと、大切なデータが消えたり、意図しない値に変わってしまったりする危険があります。
こうしたトラブルを防ぐために、**実行する前に必ず「データシートビュー」で確認する**習慣をつけましょう。
どのデータが変更されるのかを事前にチェックすることが、アクションクエリを安全に使いこなすコツです。
2. 追加クエリと更新クエリを使ってみよう
**追加クエリ**は、あるテーブルのデータを別のテーブルに追加する機能です。
たとえば、毎月の売上データを「月次売上テーブル」から「年間売上履歴テーブル」に移すような場面で役立ちます。
追加クエリを作るときは、元になるデータと追加先のテーブルのフィールド(項目)を対応させる作業が必要です。
このとき、データの型(数値型や文字列型など)が合っていないとエラーになるので注意してください。
**更新クエリ**は、条件に合うデータの値をまとめて書き換える機能です。
「特定カテゴリーの商品を全部10%値上げする」とか「退職した社員のステータスを全員分『無効』に変更する」といった作業が、あっという間に終わります。
更新クエリの画面では、「レコードの更新」の欄に新しい値や計算式(例:[価格]*1.1)を入力して、「抽出条件」の欄で対象を絞り込みます。
条件の指定を忘れると全部のデータが更新されてしまうので、ここは慎重にチェックしましょう。
この2つのクエリを組み合わせると、さらに便利に使えます。
たとえば、他のシステムから取り込んだデータを整える作業も楽になります。
まず更新クエリで表記のばらつきを統一して、その後に追加クエリで本番用のテーブルにデータを流し込む、といった流れを作ることができます。
複数のアクションクエリを組み合わせてデータの流れを設計することは、Accessを使った本格的なデータベース作りの基本テクニックです。
3. 削除クエリとテーブル作成クエリの便利な使い方
**削除クエリ**は、条件に合うデータをまとめて消す機能です。
データベースを長く使っていると、何年も前の古いデータやテスト用のダミーデータが溜まって、ファイルが重くなったり動きが遅くなったりします。
そんなときに「登録日が3年以上前のデータ」といった条件で削除クエリを実行すれば、データベースをスッキリ軽くできます。
ただし、削除したデータは元に戻せないので、実行前には必ずバックアップを取っておきましょう。
**テーブル作成クエリ**は、抽出したデータから新しいテーブルを自動で作る機能です。
複雑な条件で絞り込んだ結果を作業用テーブルとして保存したいときや、データを別のファイルに移す準備として使います。
たとえば、全顧客データの中から「今年商品を買った優良顧客」だけを抽出して、「優良顧客リスト_2024」という新しいテーブルを作る、といった使い方ができます。
新しく作ったテーブルは独立しているので、元のデータに影響を与えずに自由に編集できます。
削除クエリとテーブル作成クエリを組み合わせると、データの整理(アーカイブ)がスムーズにできます。
まずテーブル作成クエリで古いデータを保管用の別テーブルにコピーします。
コピーが無事に終わったら、同じ条件で削除クエリを実行して、元のテーブルから古いデータを削除します。
この手順を踏めば、過去のデータを安全に保管しながら、よく使うテーブルを快適に保つことができます。
4. アクションクエリを使うときの注意点とトラブル対策
アクションクエリで一番大切なのは、**実行前の確認とバックアップ**です。
条件を設定した後、すぐに「実行」ボタン(赤いビックリマークのアイコン)を押さないでください。
まず画面左上の表示切り替えボタンから「データシートビュー」を選んで、どのデータが変更されるのか確認しましょう。
このひと手間で、取り返しのつかないミスを防ぐことができます。
アクションクエリを実行しようとすると、「データを更新できない」「レコードが追加されない」といったエラーが出ることがあります。
これは主に、テーブル間の関係(リレーションシップ)のルールに違反していたり、主キーの「重複なし」制約に引っかかっていたりすることが原因です。
たとえば、存在しない顧客IDを追加しようとしたり、自動採番フィールドに手動で値を入れようとしたりすると、Accessがエラーを出します。
エラーが出たら、テーブルの設計や制約をもう一度確認してみてください。
アクションクエリを実行すると、「〇件のレコードを変更します。
よろしいですか?」という確認メッセージが表示されます。
最初のうちは安全のためにこのメッセージを出しておくべきですが、マクロやVBAで複数のクエリを自動実行するときは、毎回メッセージが出ると不便です。
そんなときは、Accessのオプション設定で「アクションクエリ」の確認メッセージをオフにできます。
または、マクロの「メッセージの設定」機能を使って、処理中だけ一時的に警告を非表示にすることもできます。
まとめ
アクションクエリは使いこなせばとても便利な機能ですが、データを直接書き換えるという性質上、慎重に扱う必要があります。
最初は少し難しく感じるかもしれませんが、事前確認とバックアップを忘れずに、少しずつ練習していけば、きっと強力な味方になってくれますよ。
広告
