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のオプション設定で「アクションクエリ」の確認メッセージをオフにできます。

または、マクロの「メッセージの設定」機能を使って、処理中だけ一時的に警告を非表示にすることもできます。

まとめ

アクションクエリは使いこなせばとても便利な機能ですが、データを直接書き換えるという性質上、慎重に扱う必要があります。

最初は少し難しく感じるかもしれませんが、事前確認とバックアップを忘れずに、少しずつ練習していけば、きっと強力な味方になってくれますよ。

広告