投稿日時:

Accessでの良くあるご質問・ご相談のやりとりに、以下のようなものがあります。

「Accessのクエリでこのような集計をしたいのですが、どうすればよいですか?」
「それはSQLでこんな感じに書くと良いですよ」
「SQLですか? もっと簡単な方法はありませんか?」

SQLより簡単な方法は「ありません」。
実は、データベース(RDBMS)を扱う一番簡単で便利な方法が「SQL」なのです。

SQLはAccessを含めRDBMSを操作するためのコマンドです。
AccessのクエリはSQLを習得していない人向けの簡易機能という位置付けで、SQLで可能なこと事を100とすると、クエリのデザインビューで可能なこと事はぜいぜい50~60というイメージです。

その50、60しかない簡易機能で、アレが出来ない、コレが出来ないという話をされてしまっても、というところなのですね。

RDBMSを使う人にとって、SQLの学習は必須です。
IT系国家資格検定でも、SQLはレベル1「ITパスポート検定(旧初級シスアド)」で学ぶべきものです。

冒頭のような質問者の多くはSQLができず、SQLは難しいと思っています。
でも良く考えてみましょう。SQLが最初に規格化されたのは1986年。よく使用される「SQL99」なる規格は1999年に生まれています。

日進月歩がめまぐるしいこの手の技術。人は次から次へ便利なもの、簡単なものへと移っていきますが、SQLはこれ程長く使用されているわけです。
つまり、未だにSQLより便利なもの、簡単なものは無いということになります。

さて、このようなサンプルを用意してみました。
SQLを使用すると、このようなクエリが簡単に作れますというサンプルです。

Employeeは社員テーブル。Eventは誰が、いつ、何のイベントに参加したかの履歴テーブルです。
「クエリ1」はどの社員がどのイベントに何回参加したかを集計するクエリです。
「クエリ2」は社員ごとに最後に参加したのはいつで、どのイベントかを調べるクエリです。

SQLを少し書けば、このようなクエリが簡単に作れます。
複雑に関数を組み合わせたり、Excelに移行する必要はありません。

これはSQLができる事のほんの触りにすぎず、もっと色々な事ができるようになります。

Accessを使用する全ての人へ、アドバイスです。
喰わず嫌いをしないで、SQLをぜひ学習してみましょう。新しい世界が広がりますよ。
当校でしたら、Access クエリ/データ操作・分析実践講座にて、SQLの基礎を採り上げております。ぜひご参加をご検討下さいね。

(担当:奥田 英太郎