データシートは、行と列に配列されたデータの単純なビューです。 ナビゲーション ウィンドウでテーブルをダブルクリックすると、 Access がデータシートとして表示されます。 データシートはコンパクトなデータのプレゼンテーションのため、データシートをサブフォームとして使用して、データシートの "多" 側のデータを表示する場合に 一対多リレーションシップ。 この記事では、フォームのフォームにデータシートを追加する方法について Access。

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

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

たとえば、製品カテゴリに関するデータと、それらのカテゴリ内のすべての製品を表示するフォームを作成するとします。 Categories テーブルのデータはリレーションシップの "一" 側を表し、Products テーブルのデータはリレーションシップの "多" 側を表します。 各カテゴリには多数の製品を含めできます。

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

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

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

データシートをフォームにドラッグ アンド ドロップする

既存のデータシートをフォームに追加する最も簡単な方法は、フォームをデザイン ビューで開き、ナビゲーション ウィンドウからフォーム デザイン領域に既存のデータシート フォームをクリックして押し続け、ドラッグすることです。

この手順を開始する前にリレーションシップを正しく設定すると、メイン フォームをデータシートにリンクする正しい値を使用して、リンク子フィールドとリンク 親フィールドプロパティが自動的に設定されます。

[リンク子フィールド] プロパティと [リンク 親フィールド] プロパティが空白である

Access でサブフォーム コントロールをメイン フォームにリンクする方法を決定できない場合、サブフォームコントロールの [リンク子フィールド] プロパティと [リンク 親フィールド] プロパティは空白のままになります。 これらのプロパティは手動で設定する必要があります。

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

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

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

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

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

      または

      [デザイン] タブの [ツール] グループで [既存のフィールドの追加] をクリックします。

      [フィールド リスト]ウィンドウでは、このビューで使用できるフィールド、および関連テーブルで使用できるフィールドというセクションにテーブルが分割されます。 [フィールド リスト] ウィンドウの 下部で、メイン テーブルに直接関連付けされていない他のテーブルは、他のテーブルで使用できるフィールドの下 に一覧表示されます

  2. [関連 テーブルで 使用できるフィールド] セクションで、データシート上の最初のフィールドを含むテーブルを展開し、フォームにフィールドをドラッグします。 データシートが作成され、フィールドが追加されます。

  3. 新しいデータシートにフィールドを追加するには、まずデータシートをクリックして選択する必要があります。 データシートで使用できるフィールドが一番上に 表示 されるので、[フィールド リスト] ウィンドウが並べ替わります。 [この ビューで使用できる フィールド] セクションから、必要な他のフィールドをデータシートにドラッグします。 各フィールドをデータシートにドラッグすると、Access によって挿入バーが描画され、マウス ボタンを離すとフィールドが挿入される場所が示されます。

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

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

ページの先頭へ

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

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

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

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

    ボタンの画像

    なぜでしょうか?

    サブフォーム コントロール ウィザードを使用すると、別のフォーム オブジェクトが作成され、そのフォーム オブジェクトにサブフォーム コントロールが基になります。 これに対し、この手順では、フォームではなくテーブルまたはクエリに直接基づくデータシートを作成します。

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

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

  5. コントロールの端と角のハンドルをドラッグして、サブフォーム コントロールの位置とサイズを変更します。

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

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

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

  9. プロパティ シート[データ] タブで、[ソース オブジェクト] ドロップダウン リストをクリックし、データシートに表示するテーブルまたはクエリをクリックします。 たとえば、Orders テーブルのデータを表示する場合は 、[Table.Orders] をクリックします

  10. この手順を開始する前にリレーションシップを正しく設定すると、メイン フォームをデータシートにリンクする正しい値を使用して、リンク子フィールドとリンク 親フィールドプロパティが自動的に設定されます。

    [リンク子フィールド] プロパティと [リンク 親フィールド] プロパティが空白である

    Access でサブフォーム コントロールをメイン フォームにリンクする方法を決定できない場合、サブフォームコントロールの [リンク子フィールド] プロパティと [リンク 親フィールド] プロパティは空白のままになります。 これらのプロパティは、次の手順を使用して手動で設定する必要があります。

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

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

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

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

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

    5. [親 フィールド] ドロップダウン リストと [子フィールド ] ドロップダウン リストで、フォームをリンクするフィールドを選択します。 使用するフィールドが分からない場合は、[提案] をクリックして、Access でリンクフィールドを決定します。 作業が終了したら、[OK] をクリックします。

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

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

  11. フォームを保存するには、クイックアクセスツール バーの [保存] をクリックするか、Ctrl キーを押しながら S キーを押します。

  12. 新しい フォーム ビュー し、データシートが期待した通り動作する方法を確認します。

ページの先頭へ

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

データシートを含むフォームには、異なる (通常は関連する) データ ソースからのデータが表示されます。 たとえば、フォームに従業員が表示され、各従業員に割り当てられているすべてのタスクを表示するデータシートが含まれます。 データシートには、データシートを含むフォームとは異なるデータ ソースがあります。 一方、分割フォームには 2 つのセクション (フォームとデータシート) がありますが、両方のセクションに同じデータが表示されます。 2 つのセクションは互いに追跡し、データの 2 つの異なるビューを一度に提供します。

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

ページの先頭へ

ヘルプを表示

スキルを磨く

トレーニングの探索 >

新機能を最初に入手

Microsoft Insider に参加する >

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

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?

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

×