フォームにデータシートを挿入する

データシートは、データが行と列に配置された単純なビューです。Microsoft Office Access 2007 のナビゲーション ウィンドウでテーブルをダブルクリックすると、そのテーブルがデータシートとして表示されます。データをコンパクトに表現できることから、データシートは、一対多リレーションシップの "多" 側のデータを表示するためのサブフォームとして使用すると効果的です。ここでは、Office Access 2007 でフォームにデータシートを追加する方法について説明します。

目的に合ったトピックをクリックしてください

フォームのデータシートの例を表示します。

テーブル間のリレーションシップを確立します。

フォーム ツールを使用して、データシートを含むフォームを作成します。

レイアウト ビューを使用して、データシートを含むフォームを作成します。

レイアウト ビューを使用して、既存のフォームにデータシートを挿入します。

デザイン ビューを使用して、既存のフォームにデータシートを挿入します。

分割フォームとデータシートを含むフォームの違いを理解します。

フォームにデータシートの例を表示する

商品区分に関するデータと各商品区分内のすべての商品に関するデータを表示するフォームを作成するとします。[商品区分] テーブルのデータは、リレーションシップの "一" 側を表し、[商品] テーブルのデータは、リレーションシップの "多" 側を表します。それぞれの商品区分は、複数の商品を含むことができます。

サブフォーム付きのフォーム

1. メイン フォームには、リレーションシップの "一" 側のデータが表示されます。

2. データシートには、リレーションシップの "多" 側のデータが表示されます。

ページの先頭へ

テーブル間のリレーションシップを確立する

データシートを含むフォームをデザインする場合は、その前にテーブル間のリレーションシップを調べて、足りないリレーションシップを追加する必要があります。これにより、データシートとメイン フォームの間のリンクが自動的に作成されます。データベースのテーブル間のリレーションシップを表示、追加、または変更するには、[データベース ツール] タブの [表示/非表示] で [リレーションシップ] をクリックします。リレーションシップを作成する方法の詳細については、[参照] のリンク先を参照してください。

ページの先頭へ

フォーム ツールを使用してデータシートを含むフォームを作成する

フォーム ツールを使用して、1 つの一対多リレーションシップの "一" 側のテーブルに基づくフォームを作成すると、リレーションシップの "多" 側のデータを表示するデータシートが自動的に挿入されます。

たとえば、次の条件が満たされる場合、顧客ごとにすべての注文を表示するデータシートが挿入されます。

  • [得意先] テーブルに基づく単純なフォームを作成する。

  • [受注] テーブルとの間で一対多リレーションシップを定義して、[受注] テーブル内の複数のレコードと関連付けることができる [得意先] テーブル内の 1 つのレコードを指定した。

  • [得意先] テーブルは、他の一対多リレーションシップの "一" 側ではない。

  • ナビゲーション ウィンドウで、一対多リレーションシップの "一" 側のテーブルをクリックします。

  • [作成] タブの [フォーム] グループで [フォーム] をクリックします。 ボタンの画像

データシートが下部に配置されたフォームが作成されます。データシートが作成されない場合は、フォームで使用するテーブルが一対多リレーションシップを持っていないか、またはそのテーブルが複数の一対多リレーションシップを持っていることを意味します。

注記: 

  • このプロセスは、メイン フォームを作成する以外に他のフォーム オブジェクトを作成しません。データシートはテーブルの直接的なビューとなります。

  • データシートの列を非表示にするには     列を右クリックし、[列を表示しない] をクリックします。この設定は保存されるため、フォームを保存して閉じた後で再び開いたときでも、列の非表示状態は保たれます。

  • データシートの非表示列を再表示するには     データシートの任意の列見出しを右クリックし、[列の再表示] をクリックします。表示する各列の横にあるチェック ボックスをオンにし、[閉じる] をクリックします。

ページの先頭へ

レイアウト ビューを使用してデータシートを含むフォームを作成する

データベースのテーブルの間のリレーションシップを既に定義している場合は、レイアウト ビューを使用してデータシートを含むフォームをすばやく作成できます。リレーションシップの "多" 側のフィールドをリレーションシップの "一" 側に基づくフォームに追加すると、関連付けられているレコードを表示するデータシートが自動的に作成されます。

  1. [作成] タブの [フォーム] グループで、空白のフォーム] をクリックします。 ボタンの画像

    空白のフォームがレイアウト ビューで開かれ、[フィールド リスト] ウィンドウが表示されます。

    注: [フィールド リスト] ウィンドウを誤って閉じてしまった場合は、次の操作を行うことで [フィールド リスト] ウィンドウを再表示できます。

    • Alt キーを押しながら F8 キーを押します。

      または

      [書式] タブの [コントロール] グループで、既存のフィールドの追加] をクリックします。 ボタンの画像

  2. 一対多リレーションシップの "一" 側のテーブルの横にあるプラス記号 (+) をクリックし、目的のフィールドをフォームにドラッグします。

    [フィールド リスト] ウィンドウでは、[このビューで利用可能なフィールド] とその下にある [リレーション テーブルで利用可能なフィールド] の 2 つのセクションにテーブルが分類されます。[フィールド リスト] ウィンドウの下部には、メイン テーブルに直接関連付けられていない他のテーブルが、[他のテーブルで利用可能なフィールド] に示されます。

  3. [このビューで利用可能なフィールド] セクションから、メイン フォームに配置する他のフィールドをドラッグします。

  4. [リレーション テーブルで利用可能なフィールド] セクションから、データシートに配置する最初のフィールドをフォームにドラッグします。データシートが作成され、フィールドが追加されます。

  5. 新しいデータシートに他のフィールドを追加するには、最初にデータシートをクリックして選択する必要があります。Access によって、そのデータシートで利用可能なフィールドが上部にくるように [フィールド リスト] ウィンドウの配置が変更されます。[このビューで利用可能なフィールド] セクションから、データシートに配置する他のフィールドをドラッグします。データシートにフィールドをドラッグすると、マウス ボタンを離したときにそのフィールドが挿入される位置を示す挿入バーが表示されます。

  6. メイン フォームまたはデータシートに対してフィールドの追加を続けるには、最初にメイン フォームまたはデータシートをクリックして選択し、[フィールド リスト] ウィンドウからフィールドをドラッグします。

[フィールド リスト] ウィンドウの他のテーブルで利用可能なフィールド] セクションには、直接テーブルまたはクエリに基づく、選択されているフォームまたはデータシートに関連付けられていないテーブルが含まれています。は、リレーションシップ ウィンドウですべての有効なテーブル リレーションシップを定義する場合、[他のテーブルで利用可能なフィールド] セクションで、フィールドにフォームを作成するに対し、有効な選択をする可能性がありますはできません。このセクションから、フォームにフィールドをドラッグすると、リレーションシップの指定] ダイアログ ボックスが表示されます。続行する前に、2 つのテーブルを相互に関連するフィールドを入力する必要があります。これを行う場合は、[フィールド リスト] ウィンドウが定義済みのリレーションシップに従って並べ替えられたセクションではなくなりします。このダイアログ ボックスでのキャンセル] をクリックし、代わりに、テーブルのリレーションシップを再確認する最適な場合があります。リレーションシップについての詳細については、作成、編集、またはリレーションシップを削除する」を参照してください。

ページの先頭へ

レイアウト ビューを使用して既存のフォームにデータシートを挿入する

データベースのテーブルの間のリレーションシップを既に定義している場合は、レイアウト ビューを使用して既存のフォームにデータシートをすばやく追加できます。リレーションシップの "多" 側のフィールドをリレーションシップの "一" 側に基づくフォームに追加すると、関連付けられているレコードを表示するデータシートが自動的に作成されます。

  1. 既存のフォームをレイアウト ビューで開きます。そのためには、ナビゲーション ウィンドウで、フォームを右クリックし、ショートカット メニューの [レイアウト ビュー] をクリックします。

    [フィールド リスト] ウィンドウが表示されていない場合は、次の操作を行います。

    • Alt キーを押しながら F8 キーを押します。

      または

      [書式] タブの [コントロール] グループで、既存のフィールドの追加] をクリックします。 ボタンの画像

      [フィールド リスト] ウィンドウでは、[このビューで利用可能なフィールド] とその下にある [リレーション テーブルで利用可能なフィールド] の 2 つのセクションにテーブルが分類されます。[フィールド リスト] ウィンドウの下部には、メイン テーブルに直接関連付けられていない他のテーブルが、[他のテーブルで利用可能なフィールド] に示されます。

  2. [リレーション テーブルで利用可能なフィールド] セクションで、データシートに配置する最初のフィールドを含むテーブルを展開し、目的のフィールドをフォームにドラッグします。データシートが作成され、フィールドが追加されます。

  3. 新しいデータシートに他のフィールドを追加するには、最初にデータシートをクリックして選択する必要があります。Access によって、そのデータシートで利用可能なフィールドが上部にくるように [フィールド リスト] ウィンドウの配置が変更されます。[このビューで利用可能なフィールド] セクションから、データシートに配置する他のフィールドをドラッグします。データシートにフィールドをドラッグすると、マウス ボタンを離したときにそのフィールドが挿入される位置を示す挿入バーが表示されます。

  4. メイン フォームまたはデータシートに対してフィールドの追加を続けるには、最初にメイン フォームまたはデータシートをクリックして選択し、[フィールド リスト] ウィンドウからフィールドをドラッグします。

[フィールド リスト] ウィンドウの他のテーブルで利用可能なフィールド] セクションには、テーブルまたは選択したフォームの基にしたクエリに直接関連付けられていないテーブルが含まれています。は、リレーションシップ ウィンドウですべての有効なテーブル リレーションシップを定義する場合、[他のテーブルで利用可能なフィールド] セクションで、フィールドにフォームを作成するに対し、有効な選択をする可能性がありますはできません。このセクションから、フォームにフィールドをドラッグすると、リレーションシップの指定] ダイアログ ボックスが表示されます。続行する前に、2 つのテーブルを相互に関連するフィールドを入力する必要があります。これを行う場合、定義済みのリレーションシップに従ってセクションになったフィールド リスト] ウィンドウが並べ替えられます。このダイアログ ボックスでのキャンセル] をクリックし、代わりに、テーブルのリレーションシップを再確認する最適な場合があります。リレーションシップについての詳細については、作成、編集、またはリレーションシップを削除する」を参照してください。

ページの先頭へ

デザイン ビューを使用して既存のフォームにデータシートを挿入する

この手順は、デザイン ビューでテーブルまたはクエリに直接的に基づくデータシートを既存のフォームに追加する場合に使用します。

  1. ナビゲーション ウィンドウでフォームを右クリックし、[デザイン ビュー] をクリックして、フォームをデザイン ビューで開きます。

  2. [デザイン] タブの [コントロールとフィールド] で、[コントロール ウィザードの使用] が選択されている場合はクリックして選択を解除します。

    ボタンの画像

    理由

    サブフォーム コントロール ウィザードを使用した場合は、別個のフォーム オブジェクトが作成され、サブフォームがそのフォーム オブジェクトに基づくように設定されます。一方、この手順では、フォームではなくテーブルまたはクエリに直接的に基づくデータシートが作成されます。

  3. [デザイン] タブの [コントロール] グループで [サブフォーム/サブレポート ボタンの画像 ] ボタンをクリックします。 ボタンの画像

  4. フォームのデザイン グリッドで、データシートを挿入する場所をクリックします。

  5. コントロールの端部および隅のハンドルをドラッグして、サブフォーム コントロールの位置やサイズを調整します。

  6. サブフォーム コントロールの付属ラベルを編集します。そのためには、ラベルをクリックし、ダブルクリックしてテキストを選択し、新しいラベルを入力します。ラベルを削除するには、ラベルを 1 回クリックし、Del キーを押します。

  7. プロパティ シートが表示されていない場合は、F4 キーを押して表示します。

  8. サブフォーム コントロールが現在選択されていない場合は、サブフォーム コントロールを 1 回クリックして選択します。

  9. プロパティ シートの [データ] タブで、[ソースオブジェクト] ボックスをクリックし、データシートに表示するテーブルまたはクエリをクリックします。たとえば、[受注] テーブルのデータを表示するには、[テーブル.受注] をクリックします。

  10. この手順を開始する前にリレーションシップが適切に設定されていれば、メイン フォームをデータシートにリンクするための適切な値が "LinkChildFields/リンク子フィールド" プロパティおよび "LinkMasterFields/リンク親フィールド" プロパティに自動的に設定されます。

    [リンク子フィールド"と"リンク親フィールドのプロパティは空白

    サブフォーム コントロールをどのようにメイン フォームにリンクするかを Access が判定できない場合、サブフォーム コントロールの "LinkChildFields/リンク子フィールド" プロパティおよび "LinkMasterFields/リンク親フィールド" プロパティは空白となります。その場合は、次に示す作業を行って、手動でこれらのプロパティを設定する必要があります。

    1. フォームのデザイン ビューで、メイン フォームを開きます。

    2. サブフォーム コントロールを 1 回クリックして選択します。

    3. プロパティ シートが表示されていない場合は、F4 キーを押します。

    4. プロパティ シートの [データ] タブで、[リンク子フィールド] ボックスの横にある [...] (ビルド) ボタンをクリックします。

      [サブフォーム フィールド リンク ビルダ] ダイアログ ボックスが表示されます。

    5. [親フィールド] ボックスと [子フィールド] ボックスの一覧から、フォームをリンクするフィールドを選択します。使用するフィールドが不確かな場合は、[推奨] をクリックすると、Access によってリンク フィールドが判定されます。完了したら、[OK] をクリックします。

      フォームをリンクするために使用したいと考えているフィールドが表示されない場合は、目的のフィールドが含まれるようにマスタ フォームまたは子フォームのレコード ソースを編集する必要があります。たとえば、フォームがクエリに基づく場合は、リンク フィールドがクエリ結果に存在することを確認する必要があります。

    6. メイン フォームを保存した後でフォーム ビューに切り替え、フォームが期待どおりに動作することを確認します。

  11. クイック アクセス ツールバーの [保存 ボタンの画像 をクリックするか、CTRL キーを押しながら S キーを押してフォームを保存します。

  12. フォーム ビューに切り替えた後、データシートが期待どおりに動作することを確認します。

ページの先頭へ

分割フォームとデータシートを含むフォームとの違いを理解する

データシートを含むフォームは、異なる (通常はその一方で関連付けられている) データ ソースのデータを表示します。たとえば、社員の名前を表示するフォームがあり、そのフォームには各社員に割り当てられたタスクを表示するデータシートがあるとします。ここで、データシートは、フォームとは異なるデータ ソースを持ちます。これに対し、分割フォームは 2 つのセクション (フォームとデータシート) を持ちますが、両方のセクションに同じデータが表示されます。この 2 つのセクションは互いに同期し、同じデータが同時に 2 つの異なる形式で表示されます。

分割フォームの作成方法と使用方法の詳細については、「分割フォームを作成する」を参照してください。

ページの先頭へ

注記: 

  • 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

  • この記事の英語版を参照するには、ここ をクリックしてください。Microsoft コミュニティの他のメンバーと一緒に、Community Translation Framework (CTF) を使ったこの記事の改善にご協力ください。記事内の文章にマウス ポインターを合わせて、CTF ウィジェットの [翻訳を改善します] をクリックしてください。CTF の詳細については、ここ をクリックしてください。CTF を使用すると弊社の サービス利用規約 に同意したことになります。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×