ExcelとAccessのスキルアップをサポートするサイトです

ExcelとAccessの学習室

AccessのSQLビューを使いこなせることで得られる3つのメリット

「Accessを学習しています。Accessのデザインビューでクエリを作るのはだいぶ慣れてきました。
一方、SQLビューは字が小さくて使いづらいので、つい避けてしまいます。」

たしかにSQLビューは見づらく、解読困難な文字列がたくさん並んでいますよね。
しかし、SQLビューを思い通りに使いこなせれば、「かゆい所に手が届く高性能なAccessデータベース」を作れるようになります。

今回は、SQLビューを習得するメリットとあわせて、学習ステップについてもまとめてみました。
今まで食わず嫌いでSQLビューを触ってこなかったAccessユーザーが、この記事をきっかけに更にスキルアップできるきっかけになれば幸いです。

AccessのSQLビューを使うことで得られるメリット

AccessのSQLビューをのぞいてみると、とにかく解読不能な文字が並んでいて手をつける気がしないですよね?

しかし、あえてその不可解な文字を操作してみましょう。
SQLビューを思い通りに操作できれば、デザインビューでは不可能だったことが実現できます
これから、SQLビューを習得することで得られるメリットを3つ挙げます。

クエリ文の可読性を高める

デザインビューやウィザードからからクエリを作成すると、SQL文が自動で作成されます。
自動作成されたSQL文は無駄な文字列がかなり含まれています
不要な文字を省略したり、短い文字に置き換えるだけでも、SQL文の可読性がかなり改善されます

VBAを使った自動化に役立つ

Access VBAではSQL文を使ったいろいろな便利機能があります。

例えば、「AccessからExcelを思い通りで操作できたらいいのに」ということが頭をよぎったことはありませんか?
Access VBAを使えば、Excelにピンポイントでテーブルのデータを転記できます
どのセルにどんなデータを入れるか、細かい指示を出すことも可能です。
一度覚えたら二度と手放せない便利な機能ですね。

このようにテーブルから必要なデータを取り出すときには、DAOやADOなどのライブラリが使われています。
DAOやADOを使うためには、SQL文を使ってデータの参照元を指定しなければなりません。
可読性を高めるためには、よりシンプルなSQL文にしておく必要があるわけです。

クエリの数自体を減らせる

作られたクエリはオブジェクトウィンドウに表示されます。
あまりクエリの数が増えると、オブジェクトウィンドウの中にクエリがあふれてしまいます。
結果、見づらくメンテナンスしづらいAccessデータベースになります。

  • 複数のクエリを一つで済ませる
  • SQL文をVBAコードに組み込み

上のことを積み上げることによって、クエリの数が減り、オブジェクトウィンドウをスッキリさせることができます。
当然メンテナンスもしやすくなります。

SQLビューを操作できるようになるための学習ステップ

では、実際にSQLビューを使えるようになるための4つのステップについて紹介します。

SQL文の基礎を学習

何よりも大事なのは、SQL文の基礎をマスターすることです。
まずは4種類のSQL文の書き方を覚えましょう。

  • SELECT文
  • INSERT文
  • UPDATE文
  • DELETE文

Accessだけでなく他のデータベースシステムでも転用できる知識です。
VBA以外の業務システムはもちろん、PHPなどのWEBシステムでもSQL文は使われますので、SQL文を知っておくとIT職へのジョブチェンジなどにも有利です。

https://sys-daddy.com/select-statement-beginner-01
https://sys-daddy.com/select-statement-beginner-02
https://sys-daddy.com/access_sql_edit_table

クエリの不要な文字列を省く

デザインビューで作られたSQL文は、人の目で見ると「長くて見づらい文字列」になってしまいます。
テーブル名を省略したり、エイリアスを使って文字数を少なくしましょう。
文字のボリュームが半分くらいにはできるでしょう。

SQL文をVBAコードにも組み込みやすくなります。
VBAコードに組み込むことで、クエリの数を減らすことができます。

サブクエリを習得

クエリを使うときにどうしても行ってしまうのが、クエリからクエリを作ることです。
クエリを重ねることで、デザインビューでは一発で出せない集計ができるので、それなりには便利です。
しかし、クエリをそのまま重ねるだけでは、オブジェクトウィンドウの中にクエリがあふれてしまい、使いづらいAccessデータベースに仕上がってしまいます。

サブクエリを覚えると、複数のクエリを一つに収めることができます。
クエリの数も減らせます。

https://sys-daddy.com/access_subquery

データ定義クエリを使う

4種類のSQL文以外にも、SQLビューを使ってできる便利なことがあります。
「データ定義クエリ」を使うと、テーブルを作ったりフィールドのデータ型を変えることができます。
バッチ処理中だけ中間テーブルを作るといった、Accessデータベースの容量を節約する仕組みを作ることも可能です。
データ定義クエリはオブジェクトウインドウの中にあっても邪魔なので、VBAコードの中に組み込んでしまいます。

https://sys-daddy.com/data-define-query

データベースの分割とトランザクション

複数人数でAccessを運用する場合、『排他処理』をしっかりと行わないといけません。
ユーザー同士でお互いのデータを干渉しあっていては、満足にデータベースも動かないですし、データ自体が壊れてしまうリスクもあります。
データベースを分割して、トランザクションで更新することで同時編集のリスクを下げることができます。

https://sys-daddy.com/multi-user-setting-of-access

バッチ処理で集計テーブルを作る

入力用のテーブルだけでデータに価値を見出すのは至難の業です。
いろいろな角度から集計することで、新しい傾向が見えてきます。
集計したデータを集計用テーブルに書き込めるくらいまでのスキルが身に付くと、思い通りにAccessを操れるようになるでしょう。

https://sys-daddy.com/input_and_output_of_access

SQLビューを操作するための準備

初期設定のままのSQLビューではフォントが小さく見づらいので、設定を変えておきましょう。

Accessリボンの「ファイル」タブを選択します。

画面の下に表示されてる「オプション」をクリックします。

「オブジェクトデザイナー」をクリックし、クエリデザインのフォントサイズを変更します。
デフォルトは9ですが、11くらいまで大きくすると、だいぶ見やすくなります。

まとめ

AccessのSQLビューを使った方がいい理由と学習するためのステップについて解説してみました。
更に、今回挙げた学習ステップはやや難易度が高いので、自分のペースでじっくりと習得していきましょう。

イチからSQLビューに書き込む必要はありません。
ウィザードやデザインビューから作ったクエリを、もう少しシンプルなSQL文にできないか見直すことから始めるとよいでしょう。

SQLビューを思い通りに使いこなせるようになれば、あなたのAccessスキルは中級者レベルです。
「こんな集計できるといいな」と頭の中で考えられるもののほとんどが実現できるようになっているはずです。