Accessのテーブル作成クエリの使い方をお探しですね。
広告
Accessのテーブル作成クエリをマスターしよう!使い方から注意点まで徹底解説
Accessでデータを集計したり抽出したりするとき、選択クエリってとても便利ですよね。
でも、複雑なクエリを何度も実行していると動作が重くなったり、抽出したデータを別のシステムに渡したいときに困ったりすることはありませんか?そんなときに活躍するのが「テーブル作成クエリ」です。
この記事では、テーブル作成クエリの使い方から実務での活用方法、そして気をつけたいポイントまで、わかりやすく解説していきます。
テーブル作成クエリって何?どんなときに使うの?
テーブル作成クエリとは、名前の通り「クエリの実行結果をもとに、新しいテーブルを自動で作ってくれる」機能のことです。
普通の選択クエリは、実行するたびに元のテーブルからデータを読み込んで、その結果を画面に表示するだけです。
つまり、結果そのものをデータとして保存しているわけではありません。
元のテーブルのデータが変われば、選択クエリの結果も一緒に変わります。
これは常に最新のデータが見られるというメリットがある反面、「この時点でのデータを残しておきたい!」というときには不便です。
そこでテーブル作成クエリの出番です。
これを使うと、抽出や計算をした結果を「実際のデータ」として新しいテーブルに保存できるんです。
実際の業務でどんなときに役立つかというと、たとえば月末時点の売上データを「月次確定データ」として別に保存しておきたいときや、何百万件もある大きなテーブルから今年度のデータだけを取り出して軽い分析用テーブルを作りたいときなどです。
また、他のシステムにデータを渡すとき、あらかじめテーブル作成クエリで必要な項目だけをまとめた専用テーブルを作っておくと、作業がとてもスムーズになります。
このように、テーブル作成クエリは単にデータを抽出するだけでなく、データベースの動作を速くしたり、データ管理を安全にしたりするのに大活躍する機能なんです。
ちょっとした作業用のテーブルを作りたいときにも便利なので、Accessを使った仕事の効率化を目指すなら、ぜひマスターしておきたい機能の一つです。
テーブル作成クエリの基本的な作り方
それでは、実際にAccessの画面を操作しながら、テーブル作成クエリを作る手順を見ていきましょう。
テーブル作成クエリは、最初から特別な作り方をするわけではありません。
まずは普通の「選択クエリ」を作って、目的のデータがちゃんと抽出できているか確認してから、種類を変換するという流れが基本です。
この手順を踏むことで、間違ったデータでテーブルを作ってしまうミスを防げます。
まず、Accessの上のメニューから「作成」タブを開いて、「クエリデザイン」を選びます。
画面上部のフィールドリストに元になるテーブルを追加して、画面下部のデザイングリッドに必要なフィールドをドラッグ&ドロップで並べてください。
この段階で一度データシートビューに切り替えて、思った通りのデータが表示されているか確認しましょう。
問題なければデザインビューに戻って、クエリデザインのメニューにある「テーブルの作成」というボタンをクリックします。
すると「テーブルの作成」という小さなウィンドウが出てくるので、新しく作りたいテーブルの名前を入力して「OK」を押します。
これで、普通の選択クエリがテーブル作成クエリに変わりました。
左側のナビゲーションウィンドウを見ると、クエリのアイコンが「!」と「+」が組み合わさった特別なマークに変わっているはずです。
最後に、メニューの「実行」ボタン(赤いビックリマークのアイコン)をクリックします。
実行前に「○件のレコードを追加します」という確認メッセージが出るので、「はい」を選んでください。
処理が終わると、左側のナビゲーションウィンドウにさっき指定した名前の新しいテーブルが追加されていて、開くとクエリの結果がそのまま実際のデータとして入っています。
抽出条件を使いこなして目的に合ったテーブルを作ろう
テーブル作成クエリの本当のすごさは、既存のテーブルをそのままコピーするだけじゃなくて、クエリの強力な「抽出条件」や「計算機能」を組み合わせて新しいテーブルを作れるところにあります。
条件を細かく指定することで、目的にぴったり合ったデータセットを簡単に作ることができるんです。
ここでは、実際の仕事でよく使われる抽出条件の活用方法を詳しく見ていきましょう。
たとえば、顧客名簿テーブルから「特定の地域のお客さんだけ」を抜き出してダイレクトメール用のテーブルを作りたい場合、デザイングリッドの抽出条件のところに「”東京都”」などの条件を入力します。
また、日付の条件もとても便利です。
「>=#2023/04/01# And <=#2024/03/31#」のように指定すれば、特定の年度のデータだけを切り出したアーカイブテーブルを一瞬で作れます。 こうやって条件を絞り込むことで、余計なデータが入っていない無駄のないテーブルができあがって、その後の集計処理やフォームでの読み込み速度がグンと速くなります。 さらに、テーブル作成クエリでは既存のフィールドをそのまま持ってくるだけじゃなく、計算式を使った新しいフィールドを持たせたテーブルを作ることもできます。 単価と数量を掛け合わせた「売上金額」という計算フィールドをクエリ上で作っておけば、新しくできるテーブルには最初から売上金額が計算済みの実際の数値として入っています。 毎回クエリで計算し直す必要がなくなるので、複雑な計算が必要な大量のデータを扱うときは、この方法で一旦計算結果を固定テーブルに保存することが、動作が重くなる問題の解決策としてよく使われます。
実行前に知っておきたい注意点と主キーの設定
とても便利なテーブル作成クエリですが、実際に使うときにはいくつか気をつけたい大事なポイントがあります。
これらを知らずに実行してしまうと、思わぬデータの消失やデータベースの不具合を招く恐れがあるので、しっかり理解しておきましょう。
特に注意したいのは「既存テーブルの上書き」と「主キーやインデックスの引き継ぎ」についてです。
まず、テーブル作成ダイアログで入力したテーブル名が、すでにデータベース内にある同じ名前のテーブルだった場合、クエリを実行すると古いテーブルは警告メッセージの後に完全に削除されて、新しいテーブルに丸ごと置き換わってしまいます。
この上書き処理で失われたデータは元に戻せないので、実行前には必ずテーブル名を確認して、消えたら困る既存テーブルを上書きしないよう注意してください。
毎月同じ処理を繰り返してデータを積み重ねていきたい場合は、テーブル作成クエリではなく「追加クエリ」を使うのが正しい方法です。
また、新しく作られたテーブルには、元のテーブルに設定されていた「主キー」や「リレーションシップ」「入力規則」などの設定は一切引き継がれません。
データ型はある程度自動で判別して設定されますが、あくまで純粋なデータだけがコピーされた状態のテーブルになります。
なので、作成した新しいテーブルをシステムの中でずっと使っていきたい場合や、他のテーブルとリレーションを組んで運用したい場合は、テーブル作成後に必ずデザインビューを開いて、手動で主キーを設定し直す作業が必要です。
用途に応じて一時的なデータ置き場として使うのか、正式なテーブルとして整備するのかを見極めて、安全に活用してくださいね。
広告
