あなたは、Accessのクエリについて理解していますか?
そして思い通りに使いこなせていますか?
クエリをマスターすることは、Accessを使いこなすための大事な分かれ目です。
とはいえ、「クエリ」という言葉自体、なんだか難しそうでとっつきにくいですよね。
この記事を書いているぼくも、実はクエリをマスターできずにAccess学習を挫折した経験を持っています。
クエリさえ理解できていれば、5年早くAccessをマスターできていたでしょう。
「Accessをマスターしたいと頑張っている方に同じ苦労をしてほしくない」という気持ちから、クエリの全体像をまとめてみました。
もくじ
本記事では、以下の内容をより意識しました。
- 初心者の方がクエリの全体像をイメージできる
- Accessを習得する時にクエリとどうやって向き合ったらよいか
Accessを習得している方にとって、この記事を読むことでクエリでやるべきことが見えてくると思います!
学習の前提条件として、Accessのテーブルを知っている方が対象になります。
Accessテーブルに関する記事のリンクを入れておくので、テーブルに不安を抱えている方はこちらを先にごらんください。
Accessクエリとはテーブルに指示を出すための機能
クエリを一言で表現すると「テーブルから情報を引き出したり、中身を書き換えることができるツール」です。
抽象的な表現でやや分かりづらいと思うので、より詳しく解説しますね。
クエリを使うときには、SQLというデータベース専用の言語が使われます。
SQLは、オラクルやMySQL、Microsoft SQL Serverなど、ほとんどのデータベースで共通して使える言語です。
方言のようなちょっとした違いはありますが、基本的な書き方はほぼ一緒です。
SQLはまさにデータベースの基礎スキルで、Access以外のデータベースシステム(Oracle,SQL Server,MySQLなど)を使った開発にも欠かせません。
ここで「Accessにはどんなクエリがあるのか」が分かるような一覧表を作ってみました。
動作 | クエリの種類 | SQL |
---|---|---|
テーブルの条件を絞ったり集計したりする | 選択クエリ | SELECT |
複数のテーブル同士をつなぐ | 選択クエリ | SELECT |
新しいデータを追加する | 追加クエリ | INSERT |
データを書き換える | 更新クエリ | UPDATE |
データを削除する | 削除クエリ | DELETE |
新しいテーブルを作る | テーブル作成クエリ | SELECT~INTO |
テーブルの項目追加やデータ型を変更する | データ定義クエリ | ALTER |
テーブルそのものを削除する | データ定義クエリ | DROP |
クエリはテーブルの中にあるデータを整理・加工するだけでなく、テーブル自体の構造を変更することもできます。
具体的には、データの修正だけでなく、フィールド名やデータ型の変更も可能です。
数あるクエリの中で最初にマスターしたいのが「選択クエリ」で、データの絞り込みや集計、さらには複数のテーブルを結びつけたりなど、その用途はかなり広いです。
使う機会が多い選択クエリをしっかり理解できると、他のクエリも身に付けやすくなります。
さらに、クエリを使った更新や削除、テーブル作成から、データ型変更まで出来るようになれば、自動化の幅が大きく広がります。
初歩的なクエリである選択クエリをきっかけに、それ以外のクエリも少しずつマスターしていきましょう。
Accessクエリの作り方とビューの切替え
では、Accessでクエリの作成や確認を行う画面(ビュー)について解説します。
クエリを作る3つの方法
Accessでクエリを作る方法は、「デザインビュー」・「クエリウィザード」・「SQLビュー」の3種類の中から選べます。
デザインビュー
Accessでクエリを作成・編集する時、デザインビューは最も基本的で使う頻度も高いビューです。
Excelのように自由に操作する感覚とは少し違い、最初は操作に慣れるための時間が必要となるでしょう。
でも、一度使い方を覚えれば、SQLの知識がなくても視覚的にクエリを作成できる便利なツールです。
「作成タブ」の「クエリデザイン」から、デザインビュー使ってクエリを作ることができます。
デザインビューを開いたら、画面に表示されたテーブルから項目を選んだり、条件を指定したりといった操作を進めながら、目的に合ったクエリを作り上げます。
操作に慣れないうちは難しく感じることもありますが、デザインビューは直感的にクエリを作成できるように設計された、優れたツールです。
使い方に慣れるため、まずは触る機会を意識的に増やしていきましょう。
イメージどおりのクエリを作れるようになれば、デザインビューの便利さを痛感するはずです。
クエリウィザード
クエリウィザードを使えば、画面に表示される手順に従って進めるだけで、簡単にクエリを作成できます。
操作に自信がない初心者の方には、特におすすめです。
ウィザードで作成できるクエリの種類は、次の4つです。
- 選択クエリ
- クロス集計クエリ
- 重複クエリ
- 不一致クエリ
特に「重複クエリ」と「不一致クエリ」は手作業で作るには少し難しく、ある程度クエリ作りに慣れている人でも局所的に便利です。
「作成」タブの「クエリウィザード」をクリックすると、クエリウィザードが起動します。
あとは、ウィザードの質問に答えていくだけでクエリが完成します。
クエリ作成に不安を感じている方は、まずはウィザードから試してみましょう!
当ブログではクエリウィザードについての記事も書いているので、そちらもごらんください。
クエリのデザインビューの使い方がまだよくわからないという方は、まずウィザードを繰り返し使いながら操作の感覚を身につけるのもおすすめです。
慣れてくると、自然とデザインビューを使った編集にも挑戦したくなるでしょう。
SQLビュー
SQLビューは、エディターに直接SQL文を書くためのビューです。
クエリは、実は「SQL」というデータベース言語を使って動いています。
使用頻度が最も高いデザインビューは、SQLがビジュアル的に変換された機能です。
一方、SQLビューでは、その裏で動いているSQLのコードを直接編集できます。
たとえば、デザインビューでは設定できないような微調整をしたいときや、テーブルの構造を変更するデータ定義クエリを使うときに、SQLビューが役立ちます。
まずはデザインビューに慣れることが大切ですが、慣れてきたらSQLビューにも挑戦してみましょう。
SQLビューを使いこなせるようになると、Microsoft Accessだけでなく、他のデータベースやWeb開発でも役立つスキルになります。
SQLの知識を深めると、さまざまなのシステムへの応用が可能です。
ビューを切替える方法
Accessのクエリビューの切り替え方法についても解説しておきます。
「デザインタブ」を選択し、「表示」クリックすることでビューを切り替えることができます。
また、クエリタブの右クリックからビューを切り替える方法もよく使いますので、あわせて紹介しておきますね。
右クリックでビューの一覧が表示されますので、使いたいものを選択するだけです。
クエリを作ったあと、結果を確認したい時は「データシートビュー」を選択します。
データシートビューを選択した場合は、テーブルと同じようなレイアウトで表示されます。
クエリを習得するための手順
クエリの使い方をマスターするためのおススメの方法は、FOM出版のMOSテキストを使い倒すことです。
このブログでもクエリの作り方を解説していますが、やはりテキスト通りにひたすら手を動かしたほうが学習効率は高いと思います。
テキストの価格は3,000円程度ですが、マイペースでAccessを学習できる方にはオススメです。
>>MOS ACCESSの学習テキストをAmazonでチェック!!
また、「職場から突然Accessを習得するよう指示されたが時間が取れない」という方については、セミナーを実施している企業がありますので、検索してみるといいですね。
基礎の1日コースで、2~3万円代というのが操作のようです。
習得する手順としては、以下の順で進めるのがおススメです。
- クエリウィザード
- デザインビュー
- SQLビュー
また、デザインビューで作ったクエリを時々SQLビューでどのようにどのように書かれているかを確認すると、更にスキルアップできますよね。
クエリでは関数も使える
また、Accessのクエリには、Excelのように関数があります。
Excelより種類は少なく100種類にも満たないですが、データベースで使う独特な関数が多いです。
関数の分類 | 詳細 |
---|---|
日付・時刻関数 | 年・月・日・時間などの操作を行う(DateDiff関数,Day関数,など) |
文字列操作関数 | 文字を切ったりつないだり(Insrt関数,Left関数など) |
数学関数 | 数値の操作や三角関数なども含む(Int関数,Sgn関数など) |
集計関数 | 対象テーブルのデータを取得(はじめはDではじまる) |
変換関数 | データ型を変換する(はじめにCから始まるものが多い) |
その他の関数 | 条件分岐や表示形式設定なども含む(IIf関数,Format関数,Nz関数) |
例えば、Excelには「IF関数」がありますが、Accessではこれに相当する関数が「IIf関数」です。
Access初心者が特に間違えやすい関数なので、特に注意が必要です。
また、値がNullの場合に処理できるNz関数はとても便利で、よく使われる関数の一つです。
クエリを実務で使うコツ
Accessのクエリはテーブルを思い通りに加工して表示させたり、データを変えたりといろいろ便利です。
また、選択クエリを元にして更に選択クエリを作ることができますが、クエリを重ねるのはオススメできません。
後で見返した時にとても見づらくなるからです。
いわゆるスパゲッティコードと言われるものが仕上がってしまいます。
クエリにはそういった欠点があることも知っておきましょう。
Access歴10年を超えるぼく自身も、ここ2~3年前まではクエリをひたすら重ねて集計してきました。
内製データベース「集計方法の変更」を依頼されたときは、たくさん作ったクエリ内部の調査でかなり時間がかかってしまい、大変な思いをしてきました。
ただし、一回限りでデータを加工したい場合のみに限り、クエリを重ねても問題ないです。
しかし、目的が達成したら作ったクエリは必ず削除するようにしましょう。
そのまま残すと後でAccessの改修を行う時、調査に時間がかかります。
一方、自動化を意識したAccessデータベースを構築したい場合は、VBA上でクエリを操作する方法がオススメです。
- データを集計したい時にクエリを作る
- データの集計が終わったらクエリを削除する
上のような動きはVBAのプログラムコードでも指示できます。
VBAからの命令ができるようになれば、データ加工で行いたいことのほとんどが実現できるようになります。
せっかくAccessを習得するなら、VBAでクエリ操作をマスターすることを目標にすると良いでしょう。
当ブログでも、詳しく解説した記事を作っていますので、ぜひそちらをごらんください。
やや難易度が高い方法ですが、マスターすればいろんな処理がかのうです。
まとめ
今回はクエリの全体像についてまとめました。
何となくイメージはつかめましたか?
クエリの特徴をイメージできれば、習得が楽になります。
このブログでもクエリの作り方について解説しますが、やっぱりFOM出版のMOSテキストで問題を解いていくのが一番の近道ではないでしょうか?
それでも、以下のように考えている方は当ブログのクエリを解説しているページを参考にしていただければと思います。
- 出来るだけ費用をかけたくない
- テキストを使わなくても習得できる
クエリはAccessの強力な機能の一つです。
ぜひ当ブログを活用してクエリの基礎から応用まで習得し、スキルアップに役立ててください。
最後に、ブログでは他のAccessの機能についても解説しています。
よかったらトップページから希望の機能を探してみてください。
また、Accessのータベース設計のまとめ記事もありますので、そちらもごらんください。
≫ これだけで大丈夫! | Accessアプリを学びたい人のための学習手引き