マスタおよび詳細コントロールを挿入する

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

Microsoft Office InfoPath では、マスタおよび詳細コントロールを使用してコントロールを別のコントロールとリンクさせ、最初のコントロールでの選択によってもう 1 つのコントロールに表示される情報が決定されるようにすることができます。

このトピックの内容

マスタおよび詳細コントロールを使用する場合

互換性に関する考慮事項

マスタおよび詳細コントロールを挿入する

マスタおよび詳細の既定のリレーションシップを変更する

マスタおよび詳細コントロールを使用する場合

マスタおよび詳細コントロールは、実際には 2 つの関連するコントロールのセットです。一方のコントロールはマスタ コントロールとして指定され、もう一方のコントロールは詳細コントロールとして指定されます。マスタ コントロールは、常に繰り返しテーブルです。詳細コントロールは、繰り返しテーブルまたは繰り返しセクションです。

マスタおよび詳細コントロールは、次のことを行う必要がある場合に使用します。

  • フォーム テンプレートに基づくフォームに入力するユーザーが、大量のデータを効率的に扱えるようにする。

  • 一対一リレーションシップに相当するものを表示する。たとえば、従業員レコードのデータベースに接続する人事フォーム テンプレートをデザインするときに、マスタおよび詳細コントロールを使用できます。マスタ コントロールで従業員の名前と役職を表示し、詳細コントロールで従業員の所属、入社日、および生年月日を表示できます。

  • 一対多リレーションシップに相当するものを表示する。たとえば、マスタ コントロールを使用して一連のレコード (たとえば、顧客名) を表示し、詳細コントロールを使用して関連するレコード (たとえば、顧客注文) を表示することができます。

次の図では、人事部の従業員が繰り返しテーブルの行をクリックして、従業員の詳細情報にアクセスしています。

マスター内の社員情報およびフォーム上の詳細コントロール

ユーザーが繰り返しテーブル (マスタ コントロール) で特定の行をクリックすると、フォームの別の場所にある繰り返しセクションまたは繰り返しテーブル (詳細コントロール) に 1 つ以上の詳細レコードが表示されます。

InfoPath には、[コントロール] 作業ウィンドウを使用して挿入できる定義済みのマスタおよび詳細コントロールが用意されています。また、繰り返しテーブルと繰り返しセクション (または 2 つの繰り返しテーブル) を挿入し、各コントロールのプロパティを変更することにより、マスタおよび詳細コントロールを作成することもできます。

フォーム テンプレートが主に画面上での表示を目的としたものである場合は、詳細コントロールをフォーム テンプレートのスクロール領域内に配置することを検討してください。そうすると、コントロールに大量のデータが表示される場合に、ユーザーはデータをスクロールできます。ただし、ユーザーがフォームを印刷する可能性がある場合は、この方法は最良のオプションではありません。画面上でスクロール領域に表示されないデータは、印刷したフォームでも表示されないからです。

ページの先頭へ

互換性に関する考慮事項

InfoPath でフォーム テンプレートをデザインするときは、ブラウザー互換フォーム テンプレートをデザインできます。ブラウザ互換のフォーム テンプレートをデザインする場合、マスタおよび詳細コントロールは [コントロール] 作業ウィンドウで使用できません。これは、マスタおよび詳細コントロールを Web ブラウザで表示することはできないからです。

さらに、[繰り返しセクションのプロパティ] ダイアログ ボックスと [繰り返しテーブルのプロパティ] ダイアログ ボックスで [マスタと詳細] タブにアクセスすることは可能ですが、このタブのすべての設定は使用不可です (淡色表示されます)。

この制限を回避するには、ユーザーが 2 つのビュー (特定のアイテムを一覧で表示する "マスタ" ビューと、マスタ ビュー内の各アイテムに固有の拡張情報を表示する "詳細" ビュー) を表示できるようにフォーム テンプレートをデザインする必要があります。

ページの先頭へ

マスタおよび詳細コントロールを挿入する

マスタおよび詳細コントロールを挿入する手順は、新しい空白のフォーム テンプレートをデザインしているか、データベースまたは他の外部データ ソースに基づいてフォーム テンプレートをデザインしているかによって、若干異なります。

マスター/詳細コントロールを挿入するには、[コントロール] 作業ウィンドウから、繰り返しテーブルとデータ ソース内の同じ繰り返しグループにバインドされた繰り返しセクション InfoPath が挿入されます。既定では、両方のコントロールには、その繰り返しグループ内のフィールドにバインドされている他のコントロールが含まれます。

次の図は、 デザイン モードでマスター/詳細コントロールを示します。

詳細コントロールがデザイン モードで選択されたマスター/詳細コントロール

コントロールは、バインドすることも、バインド解除することもできます。コントロールは、バインドされている場合、データ ソース内のフィールドまたはグループに接続されており、コントロールに入力したデータは、基になるフォーム (.xml) ファイルに保存されます。コントロールは、バインド解除されている場合、フィールドまたはグループに接続されておらず、コントロールに入力したデータは保存されません。コントロールを選ぶか、ポインターをコントロールの上に移動すると、コントロールの右上隅にテキストとバインド アイコンが表示されます。テキストは、コントロールがバインドされているデータ ソース内のグループまたはフィールドを示します。アイコンは、コントロールがグループまたはフィールドに適切にバインドされているかどうかを示します。バインドが適切である場合、緑色のアイコンが表示されます。バインドに問題がある場合、青色または赤色のアイコンが表示されます。

フォーム テンプレートのデータ ソースは、フィールドとデータ ソース] 作業ウィンドウでの階層ビューに表示されるグループで構成されます。マスター/詳細コントロールは、常に繰り返しグループにバインドします。次の例では、マスター コントロールと詳細コントロールは、[データ ソース] 作業ウィンドウ内の繰り返しグループの[d:employees]にバインドします。

フォーム テンプレート上のマスター/詳細コントロールと、データ ソース内の繰り返しグループの間の関係

注: 一対多リレーションシップの場合、マスタおよび詳細コントロールは、通常は別々の繰り返しグループにバインドされます。一対一リレーションシップではなく、一対多リレーションシップを確立する方法については、後の「マスタおよび詳細の既定のリレーションシップを変更する」を参照してください。

新しい空白のフォーム テンプレートにマスタおよび詳細コントロールを挿入する

InfoPath には、[コントロール] 作業ウィンドウを使用して挿入できる定義済みのマスタおよび詳細コントロールが用意されています。また、繰り返しテーブルと繰り返しセクション (または 2 つの繰り返しテーブル) を挿入し、各コントロールのプロパティを変更することにより、マスタおよび詳細コントロールを作成することもできます。

新しい空白のフォーム テンプレートをデザインする場合、[コントロール] 作業ウィンドウの [自動的にデータ ソースを作成する] チェック ボックスが既定で選択されています。このため、InfoPath では、フォーム テンプレートにコントロールが追加されると、データ ソースにフィールドおよびグループが自動的に作成されます。これらのフィールドおよびグループは、[データ ソース] 作業ウィンドウではフォルダー アイコンおよびファイル アイコンで表されます。

  1. フォーム テンプレートで、コントロールを挿入する位置にカーソルを置きます。

  2. [コントロール] 作業ウィンドウが表示されていない場合は、[挿入] メニューの [コントロールの選択] をクリックするか、Alt キーを押しながら I キー、C キーの順に押します。

  3. [コントロールの挿入] で、[マスタと詳細] をクリックします。

  4. [マスタと詳細の挿入] ダイアログ ボックスの [マスタに含まれる列の数] ボックスに、マスタ コントロールの列の数を入力します。

  5. [詳細に含まれるフィールドの数] ボックスに、詳細コントロールのフィールドの数を入力します。

    InfoPath により、フォーム テンプレートに 2 つのコントロールが挿入されます。最初のコントロールには [繰り返しテーブル (マスタ)] というラベルが付いていて、2 番目のコントロールには [繰り返しセクション (詳細)] というラベルが付いています。

  6. マスタと詳細のリレーションシップをテストするには、[標準] ツールバーの [プレビュー] をクリックし、マスタ コントロールにデータを入力します。関連するデータが詳細コントロールに表示されます。

既存のデータ ソースに基づくフォーム テンプレートにマスタおよび詳細コントロールを挿入する

既存の拡張マークアップ言語 (XML) ファイル、データベース、または Web サービスを基にフォーム テンプレートのデザインにした場合、InfoPath は、フィールドとその既存のデータ ソースからデータ ソース] 作業ウィンドウでグループを導出します。このシナリオで、次の手順で説明するように、コントロール] 作業ウィンドウからマスター/詳細コントロールを挿入できます。

マスタおよび詳細コントロールは、必要に応じて、同じ繰り返しグループまたは異なる繰り返しグループにバインドできます。マスタおよび詳細コントロールの内部に表示されるコントロールは、繰り返しグループの一部であるフィールドにバインドされます。

  1. フォーム テンプレートで、コントロールを挿入する位置にカーソルを置きます。

  2. [コントロール] 作業ウィンドウが表示されていない場合は、[挿入] メニューの [コントロールの選択] をクリックするか、Alt キーを押しながら I キー、C キーの順に押します。

  3. [コントロールの挿入] で、[繰り返しテーブル] をクリックします。

  4. 繰り返しテーブルのバインド ウィザードの最初のページで、テーブル行をバインドする繰り返しグループをクリックし、[次へ] をクリックします。テーブルの列が 1 つだけの場合、繰り返しグループの代わりに、繰り返しフィールドを選択できます。

    ヒント: テーブルをバインドする新しい繰り返しグループを作成するには、繰り返しグループを追加するグループを右クリックし、ショートカット メニューの [追加] をクリックします。次に、[フィールドまたはグループの追加] ダイアログ ボックスで、繰り返しグループのプロパティを入力します。

  5. テーブルに含める列を追加するには、[データのバインド] の一覧でフィールドをダブルクリックします。

    ヒント: 列として追加する新しいフィールドを作成するには、テーブルをバインドするグループを右クリックし、ショートカット メニューの [追加] をクリックします。次に、[フィールドまたはグループの追加] ダイアログ ボックスで、フィールドのプロパティを入力します。

  6. 列を並べ替えるには、[表示する列] の一覧で列をクリックし、[上へ移動] または [下へ移動] をクリックします。次に、[完了] をクリックします。

  7. フォーム テンプレートのテーブルの下にある [繰り返しテーブル] ラベルをダブルクリックします。

  8. [マスタと詳細] タブをクリックします。

  9. [マスタとして設定する] をクリックし、[マスタ ID] ボックスに名前を入力します。次に、[OK] をクリックします。

  10. 繰り返しセクション (詳細コントロール) を挿入するフォーム テンプレートにカーソルを置きます。

  11. [コントロール] 作業ウィンドウの [コントロールの挿入] で、[繰り返しセクション] をクリックします。

    注: または、別の繰り返しテーブルを詳細コントロールとして使用することもできます。

  12. 繰り返しセクションのバインド ウィザードの最初のページで、セクションをバインドする繰り返しグループをクリックし、[OK] をクリックします。

  13. フォーム テンプレートのセクションの下に表示される [繰り返しセクション] ラベルをダブルクリックします。

  14. [マスタと詳細] タブをクリックします。

  15. [詳細として設定する] をクリックし、[マスタ ID にリンクする] の一覧でマスタ コントロールの名前をクリックします。

  16. 一対多リレーションシップに、既定のマスター/詳細コントロールの一対一リレーションシップを変更するには、[マスター/詳細リレーションシップキーのフィールドをクリックしするキーのフィールドを選択するのには、キーのフィールド (マスター)キー フィールド (詳細)のボックスの横にある[XPath の選択 [データ ソース] ボタン ] をクリックします。

  17. マスタと詳細のリレーションシップをテストするには、[標準] ツールバーの [プレビュー] をクリックし、マスタ コントロールにデータを入力します。関連するデータが詳細コントロールに表示されます。

ヒント: [データ ソース] 作業ウィンドウを使用してマスタおよび詳細コントロールを挿入することもできます。マスタ コントロールを作成するには、[データ ソース] 作業ウィンドウでマスタ コントロールをバインドする繰り返しグループを右クリックします。次に、ショートカット メニューの [繰り返しテーブル] をクリックします。同じ一般的な手順に従い、詳細コントロールを作成します。

ページの先頭へ

マスタおよび詳細の既定のリレーションシップを変更する

[コントロール] 作業ウィンドウを使用してフォーム テンプレートにマスタおよび詳細コントロールを挿入すると、InfoPath により、マスタ コントロールと詳細コントロールの間に一対一リレーションシップが確立されます。一対一リレーションシップとは、マスタ コントロールで選択した項目ごとに、一致する単一の結果が詳細コントロールに表示されるということです。

マスタと詳細のリレーションシップを、一対一リレーションシップから一対多リレーションシップに変更することができます。一対多リレーションシップとは、マスタ コントロールで選択した項目ごとに、一致する複数の結果が詳細コントロールに表示されるということです。

フォーム テンプレートにマスタおよび詳細コントロールを挿入すると、既定では、InfoPath によって繰り返しテーブルと繰り返しセクションが挿入されます。これらのコントロールは、データ ソースの同じ繰り返しグループにバインドされます。既定では、どちらのコントロールにも、その繰り返しグループのフィールドにバインドされた別のコントロールが含まれます。ただし一対多リレーションシップの場合、マスタおよび詳細コントロールは、通常は別々の繰り返しグループにバインドされます。

[コントロール] 作業ウィンドウからフォーム テンプレートにマスタおよび詳細コントロールを挿入して、一対一リレーションシップではなく一対多リレーションシップを確立する場合、InfoPath によって作成された詳細コントロールを削除できます。その後、次の手順で示すようにして、ニーズに適した新しい詳細コントロールを作成できます。

  1. 詳細コントロールとして指定される繰り返しセクションを選択し、Del キーを押します。

  2. フォーム テンプレートに新しい繰り返しセクションを挿入します。

    操作方法

    1. フォーム テンプレートで、コントロールを挿入する位置にカーソルを置きます。

    2. [コントロール] 作業ウィンドウが表示されていない場合は、[挿入] メニューの [コントロールの選択] をクリックするか、Alt キーを押しながら I キー、C キーの順に押します。

    3. [コントロール] 作業ウィンドウで [自動的にデータ ソースを作成する] チェック ボックスをオンにします。

    4. [コントロールの挿入] で [繰り返しセクション] をクリックします。

  3. 目的のコントロールを繰り返しセクションに挿入します。

    操作方法

    1. フォーム テンプレートで、コントロールを挿入する位置にカーソルを置きます。

    2. [コントロール] 作業ウィンドウが表示されていない場合は、[挿入] メニューの [コントロールの選択] をクリックするか、Alt キーを押しながら I キー、C キーの順に押します。

    3. [コントロール] 作業ウィンドウで、[自動的にデータ ソースを作成する] チェック ボックスをオンにします。

    4. [コントロールの挿入] で、挿入するコントロールをクリックします。

    5. 挿入するコントロールごとに、手順 1. ~ 4. を繰り返します。

  4. フォーム テンプレート上の繰り返しセクションをダブルクリックします。

  5. [マスタと詳細] タブをクリックします。

  6. [マスタと詳細の設定] で、[詳細として設定する] をクリックします。

  7. [マスタ ID にリンクする] の一覧で、マスタ コントロールの名前をクリックします。

  8. [マスタと詳細のリレーションシップ] で、[キー フィールド] をクリックします。

  9. キーのフィールド (マスター) ] ボックスの横にある[XPath の選択 [データ ソース] ボタン ] をクリックし、[フィールドまたはグループの選択] ダイアログ ボックスで、[マスター コントロールのキーのフィールド] をクリックし、[ OK] をクリックします。

  10. キーのフィールド (詳細) ] ボックスの横にある[XPath の選択 [データ ソース] ボタン ] をクリックし、[フィールドまたはグループの選択] ダイアログ ボックスで、[詳細コントロールのキーのフィールド] をクリックし、[ OK] をクリックします。

ヒント: 最初にマスタおよび詳細コントロールを作成するときに一対多リレーションシップを作成する場合は、[コントロール] 作業ウィンドウで使用可能な定義済みのマスタおよび詳細コントロールを使用するのではなく、独自のマスタおよび詳細コントロールを手動で作成することを検討してください。独自のコントロールを作成するには、フォーム テンプレート上の繰り返しテーブルと繰り返しセクション、または 2 つの繰り返しテーブルの間で、マスタと詳細のリレーションシップを確立します。それには、各コントロールの [プロパティ] ダイアログ ボックスを開き、一方のコントロールをマスタ コントロールとして指定し、もう一方のコントロールを詳細コントロールとして指定します。詳細コントロールのプロパティを変更することにより、キー フィールドを使用して一対多リレーションシップを設定できます。

ページの先頭へ

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

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

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

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

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

×