Microsoftのデータベースソフト〝Access〟について、触れる機会も少ないため、なかなか機能・構造を知っている人は少ないかもしれません。
本記事では、そのAccessの機能・構造について紹介します。
Accessの構造って?
Accessの構造は大きく分けて、〝テーブル〟〝クエリ〟〝フォーム〟〝レポート〟〝マクロ〟〝モジュール〟に分類されます。
まず〝テーブル〟はデータを格納している箱になります。実物では本をイメージしてもらうのが構造を理解しやすいと思います。
次に〝クエリ〟ですが、こちらはテーブルに存在しているデータに対して行う処理です。実物では文房具をイメージしてもらうと理解しやすいかと思います。
次は〝フォーム〟です。〝フォーム〟はボタンなどを配置する画面です。これは色々なアプリやウェブの検索画面を思い浮かべてください。ボタンが配置されていたり、文字を入力できる部分が配置されていたりしますよね。
次は〝レポート〟です。〝レポート〟は要するに帳票です。学生だとたまにレポートを提出しなさいという課題があったりすると思いますが、実物ではそういった何か元となるソースがあって、それを書き写したりしたノートをイメージしてもらうと良いと思います。
最後に〝マクロ〟と〝モジュール〟です。これらは二つとも同じようなものですが、処理の手順をまとめたものになります。この〝マクロ〟や〝モジュール〟を実行することで、クエリの実行などを個別に行わずに連続した処理を行うことができます。実物では手順書・指示書を思い浮かべてください。あるいは全くアレンジができないレシピを思い浮かべても良いかもしれません。
「Accessは〝フォーム〟に配置されたボタンを押すと、〝テーブル〟という本を〝マクロ〟や〝モジュール〟といった指示書の通りに〝クエリ〟という文房具を使ったりして、〝レポート〟というノートに書きだすことができるツール」
と理解するのがAccess初心者にとっては一番理解しやすいと思うので、そのように理解してください。
※厳密には他にも色々なことができますが、取っ掛かりとしてはこの位の理解が良いでしょう。
それぞれの役割の詳細はそれぞれのセクションを確認ください。
ここからのセクションでは、それぞれの役割の詳細を解説します。
テーブルとは?
まず、Accessのテーブルは前述の通り、データを格納している箱で本のようなものです。
そのテーブルの中でも、2種類のテーブルが存在します。
〝テーブル〟と〝リンクテーブル〟です。
これだけ聞いても違いは分かりにくいと思いますが、〝テーブル〟は自分の家の本棚に置いてある本、〝リンクテーブル〟は友達の家の本棚にある本だけど、借りてきている本とイメージしてください。
テーブル
簡単なイメージは先述の通りですが、テーブルは自データベース内に存在しているテーブルのことを言います。区別するためにローカルテーブルと言ったりもします。
このテーブルは自データベース内に存在しているため、データを追加することはもちろん、フィールドを追加したり削除したり操作することが可能です。
リンクテーブル
リンクテーブルとは、自データベース内に存在せず、〝リンク〟として接続しているテーブルのことを言います。
このリンクテーブルのリンク先はAccessデータベースはもちろん、Excelや、OracleなどAccessデータベース以外のデータベースにもリンクすることができます。
また、リンクテーブルはデータの追加が許可されているテーブルについては、データの追加を行うことができますが、フィールドを追加したり削除したりする操作はすることができません。
クエリとは?
クエリとは聞きなれない方もいるかもしれませんが、前述の通り、実物でイメージすると分かりやすいものは文房具です。
消しゴムだったり、鉛筆だったり、コピー機だったり。そのようなものの総称がクエリだと認識すると覚えやすいと思います。
文房具と言うと、色々な種類があると思いますが、クエリも色々な種類の物があります。
代表的な良く使うクエリは〝選択クエリ〟〝テーブル作成クエリ〟〝追加クエリ〟〝更新クエリ〟〝クロス集計クエリ〟〝削除クエリ〟です。
その他にも〝ユニオンクエリ〟や〝パススルークエリ〟、〝データ定義クエリ〟が存在します。
それぞれのクエリがどういった役割を担っているか、個別に紹介します。
選択クエリ
選択クエリはあるテーブルから設定した条件を元に、抽出した結果を表示するクエリです。
イメージとしては、電子辞書や検索サイトでの検索した結果が表示されるのと同じです。結果が電子辞書なら言葉の意味、検索サイトならウェブサイト、選択クエリならテーブルに存在するデータが表示される
抽出した後の結果はレポートにしたり、フォームに表示したり、色々と活用することが可能です。
テーブルのデータを昇順降順でテキストファイルなどにエクスポートしたい場合にもたまに使われたりします。
テーブル作成クエリ
テーブル作成クエリはその名の通り、実行することでテーブルを作成することができるクエリです。
イメージとしては、コピー機を創造してもらうと良いかもしれません。
テーブル作成クエリの一番簡単な使い方は、もともとあるテーブルのデータを、テーブルの名前を変えて新しく作り直す。ことなので、これはまさしくコピー機で紙をコピーするのと同じと考えられます。
仮に同じ名前のテーブルをテーブル作成クエリで作成しようとした場合、元々あったテーブルが一度削除されて、再度テーブルが生成されるという手順をたどるのがこのクエリの特長でもあります。
追加クエリ
追加クエリは、元々あるテーブル(リンクテーブルでも可)にデータを追加するクエリです。
実物のイメージは、鉛筆とかペンですかね。ノートに情報を書き加えるのが分かりやすいと思います。
テーブル作成クエリと似ていますが、大きな違いとして、テーブル作成クエリは〝テーブルを自データベース内に一から作り出す〟のに対して、追加クエリは〝自他データベース内に元々あったテーブル内にデータを追加する〟ため、挙動が違います。
更新クエリ
更新クエリは、元々あったテーブル(リンクテーブルでも可)のデータを更新するクエリです。
実物のイメージは、消しゴムと鉛筆の組み合わせ、あるいは修正液とペンの組み合わせです。
元々あったデータを一部消しゴムで消して、鉛筆で書きなおす。そういった働きをするのが更新クエリです。
クロス集計クエリ
クロス集計クエリは縦方向に羅列されたデータを分かりやすく集計するため、データをフィールドにして集計するクエリです。
こちらは実物に当たるものは思いつきませんでした。
Excelを使う人であれば、ピボットテーブルと同じようなものだと理解してください。
削除クエリ
削除クエリはデータを削除するクエリです。
実物としては、消しゴムをイメージしてください。
この削除クエリは、テーブルそのものを削除するクエリではなく、あくまでデータだけを削除するものです。
消しゴムではノートそのものは消せず、中にある文字だけを消すことができるので、それと同じです。
また、この削除クエリでは、データを全部削除することはもちろん、ある条件に当てはまるデータだけを削除することも可能です。
その他のクエリ
クエリはその他に、ユニオンクエリやパススルークエリ、データ定義クエリなどがあります。
ここでは詳細は割愛しますが、ユニオンクエリは2つ以上のテーブルを縦方向に連結するクエリ、パススルークエリは他データベースで処理をさせて、処理をさせた結果を自データベースで表示するクエリ、データ定義クエリは自データベース内のテーブルの定義を変更するクエリです。
良く使うクエリではありませんが、覚えていると便利なクエリです。
フォームとは?
フォームという言葉は聞きなれないと思いますが、Accessで言うフォームとは、ボタンに動作を登録して、そのボタンを押したら処理を走らせるとか、データを入力できるような項目を作って、入力することでデータをテーブルに保存するとかを行うことができる画面です。
私たちが普段目にするウェブサイトでもボタンがあったり検索するための入力場所があったりすると思いますが、そういった画面をAccess上で作ることができます。
フォームにも種類があり、〝単票フォーム〟と〝帳票フォーム〟が存在します。
単票フォーム
単票フォームとは、1つのデータに対して1ページになっているフォームのことです。
イメージとしては、日報です。
紙ベースでの日報では、1日1枚が基本になると思いますが、そのようなイメージを持ってもらうと理解しやすいと思います。
単票フォームの活用としては、例えば顧客情報の入力フォームなど、1つのデータに対して1ページで設定するのが好ましい場合に利用することを推奨します。
帳票フォーム
対して帳票フォームは、複数のデータに対して1ページで表示してしまうフォームです。
先ほどの日報の例に当てはめると、提出された日報をExcel等に入力して、集計表として印刷するイメージです。
帳票フォームの活用としては、データの集計表を作成するシーンなど、Excelの表に入力するような形で入力したい場合に設定すると良いと思います。
レポートとは?
レポートとは、テーブルのデータや、選択クエリで抽出したデータ、あるいはフォームに入力されている情報を紙あるいはPDFとして出力するための機能です。
レポートを活用することで、入力された情報の一覧をアウトプットしたり、月別の月報をアウトプットしたりと活用することができます。
紙文化の日本ではまだまだ必要な機能だと思っています。
また、前述の通り、PDFにも出力できるため、活用の幅は広いと思います。
マクロとは?
マクロとは、Access内で実行できる処理を登録することで、連続で処理を流すことができるものです。
現実の物としては、指示書といったところでしょうか。
このマクロでできることは多岐に渡り、簡単なところでは〝テーブルを開く・閉じる〟〝クエリを実行する〟〝フォームを開く・閉じる〟〝レポートを印刷する〟などが挙げられます。
これを活用することで、業務効率化が格段に図れます。
モジュールとは?
モジュールとは、こちらもマクロと同様に連続で処理を流すことができるものです。
できることはマクロよりも多く、ある程度プログラミングスキルが必要になります。
コードを記載して、処理を実施するため、取っつきづらいところはありますが、自分で関数や変数を作って処理を作成できるため、より自分色のデータベースに進化させることが可能です。
私個人的には、モジュールの方が好きですね。
マクロよりも痒い所に手が届く。それがモジュールです。
まとめ
Accessデータベースにはどういった機能があるか、その構造を紹介しました。
それぞれの細かい使い方や操作方法は後日紹介します。
Excelに比べてフォームを簡単に作れたり、印刷するためのレポートを作成できたりと、ちょっとした利点がありますが、Excelに対して優位な点は〝クエリ〟です。
集計、データの追加削除、クエリを組み合わせることで様々な効率化が図れるので、これを機にぜひAccessについて勉強してみてはいかがでしょうか?


コメント