Access データベース内のテーブル、フォーム、クエリ、およびその他のオブジェクトについて理解すると、多くのタスクを実行しやすくなります。 たとえば、フォームにデータを入力したり、テーブルを追加または削除したり、データを検索して置き換えたり、クエリをより簡単に実行したりできます。
この記事では、Access データベースの構造の基本的な概要について説明します。 Access には、特定のデータベースの構造を学習するのに役立ついくつかのツールが用意されています。 この記事では、各ツールを使用する方法、タイミング、理由についても説明します。
この記事の内容
概要
データベースは、顧客の注文の追跡や音楽コレクションの管理など、特定の対象または目的に関する情報の集まりです。 データベースがコンピューターに格納されていないか一部だけが格納されている場合、さまざまなソースを統合および整理して情報を管理する必要があります。
たとえば、仕入先の電話番号が、仕入先電話番号が記入されたカード ファイル、ファイル キャビネット内の製品情報ファイル、注文情報が格納されたスプレッドシートに記載されているとします。 仕入先の電話番号が変わると、この 3 つの場所にあるその仕入先の電話番号をすべて更新する必要があります。 適切に設計された Access データベースでは、電話番号が保存されるのは 1 回だけなので、1 か所の情報を更新するだけで済みます。 つまり、仕入先の電話番号を更新すると、データベース内でその電話番号を使用しているすべての場所の電話番号が自動的に更新されます。
Access データベース ファイル
Access を使用すると、1 つのファイルですべての情報を管理できます。 Access データベース ファイル内では、次のオブジェクトを使用できます。
- データを格納するテーブル。
- 必要なデータだけを検索して抽出するクエリ。
- テーブル内のデータを参照、追加、更新するフォーム。
- 指定のレイアウトでデータを分析または印刷するレポート。
1 つのテーブルに 1 回データを格納しますが、複数の場所からデータを表示します。 データを更新すると、そのデータを参照しているすべての場所においても自動的に更新されます。
クエリを使用してデータを取得します。
フォームを使用してデータを表示または入力します。
レポートを使用してデータを表示または印刷します。
これらの項目 (テーブル、クエリ、フォーム、レポート) はすべてデータベース オブジェクトです。
注
Access データベースには、他のデータベースに格納されているテーブルへのリンクが含まれているものがあります。 たとえば、1 つの Access データベースにテーブルのみを格納し、別の Access データベースには、それらのテーブルへのリンクに加え、リンクされたテーブルを基にしたクエリ、フォーム、およびレポートを格納できます。 多くの場合、そのテーブルが、リンクされたテーブルであるか、またはデータベース内に実際に格納されているテーブルであるかを考慮する必要はありません。
テーブルとリレーションシップ
データを格納するには、追跡する情報の種類ごとに 1 つのテーブルを作成します。情報の種類には、顧客情報、製品、注文の詳細が含まれる場合があります。 1 つのクエリ、フォーム、またはレポートで複数のテーブルからデータを取得するには、テーブル間のリレーションシップを定義します。
メーリング リストに存在していた顧客情報が Customers テーブルに存在するようになりました。
スプレッドシートに存在していた注文情報が Orders テーブルに存在するようになりました。
顧客 ID などの一意の ID は、1 つのレコードをテーブル内の別のレコードと区別します。 1 つのテーブルの一意の ID フィールドを別のテーブルに追加し、2 つのフィールド間のリレーションシップを定義すると、Access が両方のテーブルの関連するレコードを照合し、フォーム、レポート、またはクエリでそれらのレコードを一緒に取得できるようになります。
クエリ
1 つのクエリで、複数のテーブルに格納されているデータから、指定した条件を満たすデータを検索して抽出できます。 また、1 つのクエリを使用して複数のレコードを同時に更新または削除したり、データに対して定義済みの計算やカスタムの計算を実行したりすることもできます。
[顧客] テーブルには、顧客に関する情報があります。
Orders テーブルには、顧客注文に関する情報があります。
このクエリでは、Orders テーブルから Order ID と Required Date データを取得し、Customers テーブルから会社名と市区町村のデータを取得します。 このクエリでは、4 月に必要だった注文のみが返され、ロンドンに拠点を置く顧客のみが返されます。
フォーム
フォームを使用すると、1 行のデータを簡単な操作で一度に表示、入力、および変更できます。 また、別のアプリケーションにデータを送信するなどの操作を実行することもできます。 通常、フォームには、テーブル内の基になるフィールドにリンクするコントロールが含まれています。 フォームが開かれると、Access はこれらの 1 つまたは複数のテーブルからデータを取得し、フォームを作成するときに選択したレイアウトに従ってデータを表示します。 リボン、フォーム ウィザードのいずれかのフォーム コマンドを使用してフォームを作成することも、デザイン ビューでフォームを自分で作成することもできます。
テーブルには多数のレコードが同時に表示されますが、1 つのレコード内のすべてのデータを表示するには、水平方向にスクロールする必要がある場合があります。 また、テーブルを表示する場合は、複数のテーブルのデータを同時に更新することはできません。
フォームは一度に 1 つのレコードに焦点を当て、複数のテーブルのフィールドを表示できます。 また、図や他のオブジェクトを表示することもできます。
フォームには、レポートを印刷したり、他のオブジェクトを開いたり、タスクを自動化したりするためにクリックするボタンを含めることができます。
レポート
レポートを使用すると、データをすばやく分析したり、印刷や他の書式などの特定の方法でデータを提示したりできます。 たとえば、データをまとめて合計を計算したレポートを仕事仲間に送信できます。 または、住所データを宛名ラベル印刷用の書式にしたレポートを作成できます。
レポートを使用して宛名ラベルを作成します。
レポートを使用して、グラフに合計を表示します。
レポートを使用して、計算された合計を表示します。
Access データベースの基本構造は理解できたので、次に組み込みのツールを使用して特定の Access データベースを検索する方法を習得します。
データベース内のオブジェクトに関する詳細情報を表示する
特定のデータベースについて調べるときに使用するのに最も適した方法の 1 つに、データベース構造の解析があります。 データベース構造の解析を使用して、データベース内のオブジェクトに関する詳細情報が含まれたレポートを作成します。 最初に、詳細情報をレポートに表示するオブジェクトを選択します。 データベース構造の解析を実行すると、選択したデータベース オブジェクトに関するすべてのデータが含まれたレポートが作成されます。
- レポートを作成するデータベースを開きます。
- [データベース ツール] タブの [分析] グループで [データベース構造の解析] をクリックします。
- [データベース構造の解析] ダイアログ ボックスで、レポートを作成するデータベース オブジェクトの種類を表すタブをクリックします。 データベース内のすべてのオブジェクトに関するレポートを作成するには、[ すべてのオブジェクトの種類 ] タブをクリックします。
- タブに一覧表示されているオブジェクトを 1 つ以上選択します。タブ上のすべてのオブジェクトを選択するには、[ すべて選択] をクリックします。
- [OK] をクリックします。 Database Documenter は、選択した各オブジェクトの詳細なデータを含むレポートを作成します。 その後、印刷プレビューでレポートが開きます。 たとえば、データ入力フォームに対して Database Documenter を実行すると、レポートにはフォーム全体のプロパティ、フォーム内の各セクションのプロパティ、フォーム上のボタン、ラベル、テキスト ボックス、その他のコントロールのプロパティが一覧表示されます。 また、フォームに関連付けられているコード モジュールとユーザーアクセス許可も一覧表示されます。
- レポートを印刷するには、[印刷プレビュー] タブの [印刷] グループで [印刷] をクリックします。
デザイン ビューでテーブルを検索する
テーブルをデザイン ビューで開くと、テーブルの構造についての詳細が表示されます。 たとえば、各フィールドのデータ型設定、定型入力、テーブルにルックアップ フィールド (クエリを使用して他のテーブルのデータを抽出するフィールド) が使用されているかどうかを確認できます。 この情報は、データ型と定型入力はデータの検索と更新クエリの実行に影響があるため便利です。 たとえば、あるテーブルの特定のフィールドを更新クエリを使用して更新するために、別のテーブルの同様のフィールドにあるデータをコピーするとします。 ソース テーブルとの対象テーブルの各フィールドのデータ型が一致しない場合、このクエリは実行されません。
分析するデータベースを開きます。
ナビゲーション ウィンドウで、検索するテーブルを右クリックし、ショートカット メニューの [デザイン ビュー] をクリックします。
必要に応じて、各フィールドに割り当てられているテーブル フィールドの名前とデータ型を書き留めます。 フィールドに割り当てるデータ型で、ユーザーがフィールドに入力できるデータのサイズと型を制限できます。 たとえば、テキスト フィールドの文字数を 20 文字に制限したり、フィールドを数値型に設定してテキスト データの入力を禁止したりできます。
フィールドがルックアップ フィールドかどうかを確認するには、テーブル デザイン グリッドの下部にある [ルックアップ] タブをクリックし、[フィールド プロパティ] を調べます。 ルックアップ フィールドには 1 組の値 (姓と名などの 1 つまたは複数のフィールド) が表示されますが、通常、格納されるのは別の値のセット (数値 ID などの 1 つのフィールド) です。 たとえば、ルックアップ フィールドに格納されるのは社員の ID 番号 (格納値) でも、表示されるのはその社員の名前 (表示値) という場合があります。 式または検索と置換の操作でルックアップ フィールドを使用する場合は、表示値ではなく格納値を使用します。 ルックアップ フィールドの格納値と表示値について理解すると、ルックアップ フィールドを使用した式または検索と置換操作が目的どおりに機能するようにできます。 次の図は、一般的なルックアップ フィールドを示しています。 ここでは、フィールドの "値集合ソース" プロパティに表示される各設定が異なります。
このルックアップ フィールドは、クエリを使用して別のテーブルからデータを抽出します。 また、以下に示すもう 1 つの種類のルックアップ フィールドは値リストと呼ばれ、ハードコードされた選択肢の一覧を使用します。 次の図は、一般的な値リストを示しています。
既定では、値リストはテキスト型を使用します。 ルックアップ フィールドと値リストを見つける最適な方法は、[ルックアップ] タブを表示し、テーブル内の各フィールドの [データ型] 列にあるエントリをクリックすることです。 ルックアップ フィールドと値リストを作成する方法の詳細については、「参照」セクションのリンク先を参照してください。
テーブル間のリレーションシップを表示する
データベース内のテーブル、各テーブル内のフィールド、これらのテーブル間のリレーションシップをグラフィカルに表示するには、[リレーションシップ] オブジェクト タブを使用します。[リレーションシップ] タブにはテーブルの全体像およびデータベースのリレーションシップ構造が表示され、これらはテーブル間のリレーションシップを作成または変更するときの不可欠な情報になります。
注
[リレーションシップ] タブを使用して、リレーションシップを追加、変更、または削除することもできます。
分析するデータベースを開きます。
[データベース ツール] タブの [リレーションシップ] グループで [リレーションシップ] をクリックします。
[リレーションシップ] オブジェクト タブに、開いたデータベース内にあるすべてのテーブル間のリレーションシップが表示されます。