トップ > スキル : アプリケーション > Access(アクセス) > 基礎編(各オブジェクトの概要)

Access

各オブジェクトの概要

Accessは、テーブルクエリフォームレポートなどのオブジェクトで構成されていますので、各オブジェクトの役目をまず理解しておく必要があります。

テーブル(Table)

テーブルとは、""(データを行と列に格納するスプレッドシート)の扱い方とほぼ同じだと解釈すると分かりやすいです。

※ スプレッドシートとは、表計算ソフトで用いられる、行と列で構成される表のことです。

スプレッドシートとデータベースの大きな違いは、格納するデータの構成方法にあります。
データベースの柔軟性、かつ最大限に活用するには、重複データが発生しないよう、データをテーブルに編成する必要があります。例えば、商品に関する情報をデータベースに格納するとき、商品のデータが重複しないように商品データ専用のテーブルにデータを格納します。顧客情報や売上情報なども、それぞれ専用のテーブルに格納していきます。
要するにテーマ毎にデータを整理して、テーブルを分けて作成します。このような作業を"正規化"といいます。

テーブルの図

テーブル内の各行を"レコード"と呼びます。レコードには、情報の断片が格納され、どのレコードも1つ以上の"フィールド"で構成されます。これらのフィールドは、テーブル内の「列」に相当します。

社員テーブルの図

テーブル内のレコードとフィールドは、図書館のカードにたとえられます。レコードは、図書館のキャビネット内の1枚1枚のカードに相当し、フィー ルドはその各カードに記載されている情報(書籍名、作者名、貸出日など)に相当します。

10,000枚の図書カードがあるとします。それら図書カードはレコードにあたりますので、10,000のレコードがあると置き換えられます。1枚の図書カード(1つのレコード)の中には、図書NO、書籍名、著作者名、出版社名、出版日、貸出日、返却日などが記載されています。それらがフィールドにあたります。つまり、1つのレコードはいくつかのフィールドで構成されていることになります。

上図で例えると、5つのレコードが存在し、各レコードは社員ID、姓、名、役職、携帯番号の情報(フィールド)で構成されていることになります。

クエリ(Query)

クエリを使用すると、複数のテーブルに散らばっているデータを単一のデータシート内に表示することができます(選択クエリ)。また、条件を付けて必要なデータのみを表示することもできます。クエリは、フォームやレポートの"コントロールソース"として機能します。

※ コントロールソースとは、扱うデータの本体(テーブルやクエリ)を指します。

クエリはテーブルから必要なデータだけの表示や複数のテーブルからデータをピックアップして加工・編集したい場合に作成します。また、クエリの結果を画面に表示、印刷、クリップボードへのコピー等もできます。
フォームやレポートを作成する際、複数のテーブルからデータを取得するには、そのためのクエリを作成する必要があります。ただ、むやみにクエリを作成してもフォームやレポートで活用しないものであれば、無用の長物となりますので、必要なクエリだけを作成することを心がけます。

クエリでできること

Accessを初めて学ぶとき、特に困惑するのはクエリというオブジェクトです。しかし、Accessのマスター度は、クエリを理解できるかにかかっています。逆にクエリを理解できれば、半分以上Accessをクリアしていると言えます。つまり、クエリがわかればAccessなどのデータベースを自由自在に使うことができるといっても過言ではありません。

クエリでは以下のようなことが可能です。

  • テーブル(表)内のデータを検索表示できます。
  • テーブル同士を結合できます。
  • テーブル内のデータを変更(更新)できます。
  • データを分析できます。
  • データの並び替えができます。
  • データの抽出や集計ができます。

クエリには、選択クエリ、パラメータクエリ、重複クエリ、不一致クエリ、集計クエリ、クロス集計クエリ、更新クエリ、削除クエリ、追加クエリ、テーブル作成クエリ、SQLクエリ、ユニオンクエリ、パススルークエリ、データ定義クエリ、サブクエリなど数多くの種類が存在します。主となるクエリの説明は以下のとおりです。

  • 選択クエリ
    ・・・抽出や並べ替え、複数のテーブルを共通のフィールドで結合できる。最も使用するクエリ。
  • パラメータクエリ
    ・・・抽出条件をパラメータ値(条件となる値)として実行する選択クエリ。
  • 集計クエリ
    ・・・テーブル/クエリのフィールドをグループ化して合計や平均の値を集計するクエリ。

フォーム(Foam)

フォームは、データ操作のためのオブジェクトです。さまざまなコマンドの実行ボタンを配置して、直感的に操作しやすいように作成します。大抵の業務は、フォームを使用してテーブル内のデータを表示したり、編集、入力します。
フォームを使って、その他のユーザによるデータベース内のデータ操作を制御することも可能です。例えば、編集されたくないデータを表示するのであれば、フォームを読み取り専用にすることで、データを保護できます。

フォーム画面

レポート(Report)

レポートは、テーブル内のデータの要約を表示し、印刷物を提供するオブジェクトです。各データ情報を読みやすく表示するように、データごとに書式を設定することができます。

レポートはいつでも実行可能です。このため、レポートには常に最新のデータが反映されています。一般に、印刷用の書式を設定しますが、ディスプレイに表示したり、別のプログラムにエクスポート、電子メールで送信することも可能です。

レポート画面

ページ(Page)

作成したテーブル、クエリをWebページとして表示させるオブジェクトです。作成したページは、Accessの外部に別のファイルとして保存されます。データベースウィンドウには、作成したファイルへのショートカットが自動的に追加されます。主に、イントラネット上で活用するオブジェクトとなります。この冊子では、ページオブジェクトの作成はしておりませんので、必要であればインターネットや参考書などを参照してください。

マクロ(Macro)

データベースに機能を追加するための簡易プログラム言語がAccessのマクロです。マクロには、「フォームを開く」、「レポートを開く」、「クエリの実行」などを実行する"アクション"が用意されていて、これらをボタンに割り当てることで、データベース操作を自動化できます。

同じ操作を毎回繰り返すような作業であれば、マクロを使って自動化することで、作業時間を大幅に短縮することができます。さらに、操作を制限して、データを保護したり、Accessの知識がなくても扱えるシステムにできます。

マクロの使用

モジュール(Module)

モジュールとは、1単位でまとめられて保存されているVisual Basic for Applications の「宣言」と「プロシージャ」の集まりのことで、実態はプログラム言語で記載されたオブジェクトになります。
扱うには、VBAの基本的な知識が必要となります。Accessで作ったデータベースシステムを誰にで操作できるような仕組みを作ったり、様々な動作を連続して処理したり、データ制御が行なえるような機能となります。

モジュール画面

各オブジェクトを紹介しましたが、最も重要なオブジェクトは「テーブル」です。テーブルを基に他のオブジェクトを作成することになりますので、最初に作成するオブジェクトは云わずともテーブルとなります。
データベースは、データが存在しないと意味をなさないので、それらデータを保管(保存)するオブジェクトであるテーブルを作成します。このテーブルの作り方によって、他のオブジェクトの作り方も異なってきますので、テーブルの設計をしっかりと定義付けておくことが必要となります。初心者にとって、最初の難関な壁となりますが、「正規化」という定義付けを覚えておくと、テーブルの分け方が理解できます。