Accessクエリ入門シリーズ6回目の今回は、テーブル作成クエリについて解説していきます。
もくじ
テーブル作成クエリはデータを直接変更するアクションクエリの一つであり、テーブルの元データに手を加えない、比較的安全なクエリです。
さらに、テーブル作成クエリを使うことで、以下のようなニーズを実現することもできます。
- テーブルに記録されているデータから新しい傾向を見つけたい
- 社内システムのデータを有効活用したい
本記事では、テーブル作成クエリの基本的な使用手順の解説と、使うと便利なシーンの紹介をしていきます。
テーブル作成クエリを使う手順
テーブル作成クエリを使う方法は簡単です。
実例を使いながら、3つの手順に沿って説明します。
手順1-元データをクエリで作る
テーブル作成クエリを作るためには、まずは元になるデータが必要です。
元データは、SQLのSELECT文に相当するクエリで作ります。
Accessでは、このようなクエリには以下の3種類があります。
- 選択クエリ:複数のテーブルを連結させて表示
- 集計クエリ:データをグループ化して集計
- クロス集計クエリ:データを行と列に分けて集計
元のテーブルテーブルをそのままコピーすることもできますが、必要なフィールドや条件だけを選定して新しいデータの並びを作ることもできます。
関数を使って新しいフィールドを追加することも可能です。
必要に応じてうまく元データを作りましょう。
本記事では、「T02発注伝票」と「T02発注伝票明細」の2つのテーブルを結合して選択クエリを作りました。
また、関数を使って「金額実績」と「年月」という新しいフィールドも作っています。
選択クエリの実行結果は下の画像のとおりです。
手順2-テーブル作成クエリに切り替える
クエリデザインタブの「テーブルの作成」をクリックします。
テーブル名を指定するダイアログが表示されるので、テーブルの名前を入力しOKをクリックします。
OKをクリックすると、ダイアログが閉じられます。
手順3-クエリを実行する
リボンの実行ボタンをクリックします。
確認ダイアログが表示されますが、そのまま続けましょう。
新しいテーブルが無事に作られました。
テーブルを開いて中身を確認すると、指定したデータの並びになっています。
テーブル作成クエリは、選択クエリとはアイコンが違います。
再編集したいときは、アイコンで見分けましょう。
アイコンを右クリックし「開く」を選ぶと、クエリで設計したアクションが実行されます。
ダブルクリックした場合も同じです。
クエリの中身を編集したい時は、「デザインビュー」を選択しましょう。
テーブル作成クエリのSQL文について
次に、テーブル作成クエリのSQLビューを見てみましょう。
基本はSELECT文ですが、中に「INTO テーブル名」が入っている独特な書き方です。
テーブルを作成する代表的なSQL文として「CREATE TABLE」文が知られていますが、データが入っていない空のテーブルしか作ることができません。
一方、テーブル作成クエリはテーブルとデータを同時に作ることができるのでとても便利です。
ただし、テーブル作成クエリはAccessだけの機能であり、他のデータベースシステムでは使えないことに注意してください。
テーブル作成クエリはこんな時に使うと便利
テーブル作成クエリはわりと簡単に作ることができますが、VBAなどを使った自動化にうまく組み込むと絶大な威力を発揮します。
基幹システムのデータを活用したいとき
基幹システムの中に入は、有益なデータが入っていることが多いです。
とはいえ、手作業でデータを抜き出す作業は負荷が大きい割にムダな作業です。
「もっと楽な方法はないだろうか」と疑問に感じながら、Excelに手入力で転記したり、紙に書き出す作業を続けている人も多いことでしょう。
以下の手順でAccessのテーブル作成クエリを使えば、データベース内の必要な個所だけ抜き出すことができます。
- Accessを使うPCにODBC設定
- 基幹システムのリンクテーブルをAccessデータベース内に作成
- テーブル作成クエリでAccess内にデータ取込
場合によっては、テーブルを使った後にデータ型の修正が必要なときもあるので注意が必要です。
テーブルのデータ型を変える方法については、以下の記事を参考にするとよいです。
≫【SQL学習入門】5回目:Accessテーブルの構成を編集できるデータ定義クエリ
バッチ処理でデータ加工するとき
もう一つは、VBAを使ってデータのバッチ処理を行うときにもテーブル作成クエリをよく使います。
Accessやデータベースの中にあるデータは正規化されているので、そのままでは人間が解読するのには向いていません。
人間が解読しやすいようにテーブルやクエリを重ねて加工することもあるのですが、クエリを増やしすぎると可読性や処理速度が低下してしまいます。
クエリを増やしすぎないよう「テーブル作成クエリを実行し、用が済んだら削除する」というコードをVBAで書けるようになると、いろいろな集計を行えるようになります。
バッチ処理の考え方にについては、こちらの記事にまとめていますので、気になる方がぜひご覧ください。
≫【中級者】Accessをより便利に活用するために必要な設計(バッチ集計)
まとめ
今回は、Accessのテーブル作成クエリについて基本的な使用手順と便利な使い方を解説しました。
Accessのテーブル作成クエリは、クエリのデザインビューで新しいテーブルを作ることができる機能です。
元データを触って変更することもないので、比較的安全です。
また、基幹システムのデータを活用したり、VBAでのバッチ処理を行ったりする際にも、テーブル作成クエリが役立ちます。
Accessのテーブル作成クエリを使いこなし、効率的なデータベース操作を実現しましょう。
7回目の次回は、更新クエリについて解説します。