AccessVBA 基礎文法最速マスター

AccessVBA 基礎最速マスター」を別Wikiサイトにて鋭意作成中。

データベースオブジェクト

Accessでデータベースを作るということは、
テーブル、クエリ、フォーム、レポート、マクロ、モジュール
などを作成することを意味します。
これはExcelファイルを作ることがシートやオートシェイプや時にはマクロを作ることと同じであることと似ています。
それらの異なる機能を持つ部品のかたまりがAccessデータベースなのです。
この「部品」のことをデータベースオブジェクトと呼びます。

テーブル
すべてのデータはこのテーブルに格納されます。テーブルは、ちょうどエクセルのシートとほぼ同じ外観をしています。新しいテーブルを作成するときには、フィールドの定義をしなければなりません。フィールドとは、Excelシートでいうと”A列”のことです。 同じテーブルのフィールドの値は、重なってはいけません。また、フィールドには必ずデータ型を指定する必要があります。データ型とは、その行(レコード)に、日付とか数値とか文字列とか、どんな種類の値が入るのか?ということです。Excelで、電話番号を入力したいセルの書式設定を”文字列”にしておかないと、先頭の0が省略されてしまいますね?あれと同じく、適切なデータ型を指定しておかないと、処理がおかしくなってしまうのです。 フィールドの定義が適切に終わると、もうデータを入力していくことができます。 一つのAccessデータベースファイルには、複数のテーブルを作成することができます。
クエリ
クエリとは、テーブルに格納されたデータを抽出、加工する機能です。データベースがデータベースであるゆえん、といっても良い重要なオブジェクトです。 Excelの機能でいうと、オートフィルタに似ています。たとえば、社員録のシートで所属部署が”総務部”でフィルタをかけると、総務部とある列だけが表示されますね?あれと似ています。 クエリを使用するにはこのように条件を指定する必要があります。 抽出だけでなく、複数のテーブルをひとつの条件で指定して表示したものを新しいテーブルとして作成することもできます。
フォーム
テーブルに格納されたデータの表示と追加・修正をするための専用画面です。社員の細かいデータまで含めたテーブルがあるとして、それの名前と年齢だけが分かればよい、というときには、その条件のクエリを作り、次に専用のフォームを作って表示させます。 Accessに本格的なGUI(グラフィカルユーザインタフェース)をもたらします。よくみるボタンやリストボックスやタブなどを使用することができます。
レポート
フォームがユーザがデータベースに値をインプットさせるためのオブジェクトだとすると、レポートはアウトプットするためのオブジェクトです。特に帳票などに紙に印刷することを主なターゲットとしています。よって、特に紙に印刷する必要性のないデータベースなら、使う機会は無いかもしれません。
マクロ
簡単な機能の自動化のためにあります。マクロはExcelにもあるので理解はしやすいでしょう。しかし、Excelと違い”マクロの記録”機能はないです。あらかじめ用意されてアクションを選んでフォーム上のボタンなどに紐付けるということをします。この方法はAccessのライバルであるFileMakerのそれと似ています。

モジュール
VBAによるプログラミングを書いて保存しておく場所です。マクロで可能なことはすべてVBAで作成することができます。ただし、マクロのように”やりたいこと”(アクション)が分かり易く表示はされません。自分でVBAコードを書く必要があります。 とはいえ、その分高機能、多機能です。マクロには細かい条件による処理分けやエラー時の処理などが規定できます。実際、Acceessの作成者は、最初はマクロから始めても、じきに物足りなく、VBAの勉強を始めるのが一般です。 逆に言うと、それほどの多機能、高機能を求めないのであれば、使う機会がないままデータベースを運用していくことも不可能ではありません。
ページ
ウェブブラウザからデータベースに接続させる仕組みです。ただ、あまり出来がよろしくなく、2007からはなくなりました。本サイトでも紹介することはあまりないでしょう。

<まとめ>
データをインプットするオブジェクトです。

データをアウトプットするオブジェクトです。

データをインプットするための画面(主としてユーザのため)です。

データをアウトプットするための画面(主としてプリンタのため)です

データをプログラミングするためのオブジェクトです。

データをある程度自動化するためのオブジェクトです(プログラミングには劣ります)。