ユーザーから情報を収集したり、ユーザーに情報を表示したりするコントロールを追加するのは簡単ですが、それでは十分でない場合があります。 場合によっては、経費明細書の項目リストなど、複数のデータ ポイントを収集したり、ユーザー リストなど、複数のデータ ポイントを表示したりする必要があることがあります。 いくつかのコントロール、またはコントロールのリストをフォームに追加でき、かつ、それらが十分に追加されていることが期待できるとしても、これがフォームのデザインの最も効果的な方法ではありません。 このような状況に対応するために、Microsoft InfoPath 2010 では、データベース テーブルやさまざまな長さのリストなどの繰り返しデータのキャプチャまたは表示を可能にするいくつかのコントロールを用意しています。
この記事の内容
繰り返しデータ コントロールについて
繰り返しセクション
繰り返しセクション コントロールには、通常のセクション コントロールと同様にほかのコントロールを含みますが、必要なだけセクションを挿入できます。 たとえば、ユーザーの扶養家族の名前と年齢を記載する必要がある保険アプリケーション フォームを考えてみましょう。 ほとんどの人の扶養家族が 3 人までであることを前提として、3 つの記入欄フィールドを持つ、書類形式に似たフォームをデザインできます。 ただし、扶養家族が 3 人を超えるユーザーがいた場合は、扶養家族を追加する余白はありません。 繰り返しセクション コントロールを使用すると、ユーザーは扶養家族を一覧に追加するために、必要な数だけフィールドを追加できます。
フォーム テンプレートに繰り返しセクション コントロールを挿入した後は、空のコンテナーのみが挿入されます。 繰り返しセクション コントロールを活用するには、繰り返しセクション コントロール内にテーブルまたはテキスト フィールドなどの追加のコントロールを挿入する必要があります。
ユーザーが繰り返しセクションの上にマウスポインターを移動すると、左上隅に矢印の付いた青いボタンが表示されます。 これはショートカットメニューボタンです。 ユーザーはこのボタンをクリックすると、繰り返しセクションを挿入または削除するためのオプションを表示できます。
繰り返しセクションは次のような場合に使用します。
-
保険アプリケーションに扶養家族を追加する場合など、同じ種類のデータの複数のインスタンスを収集する。
-
データベースから従業員レコードを表示し、1 レコードのみが返された場合は 1 レコードを表示し、10 レコードが返された場合は 10 レコードを返すなど、可変データをフォームに表示する。
-
フォーム テンプレートの貴重なスペースが空の記入欄で占められることを避ける。
繰り返しテーブル
繰り返しセクションを使用すると、通常のセクションと同じようにコントロールを追加し、レイアウトすることができます。必要に応じて、表形式の書式を設定する必要があります。 繰り返しテーブルを追加して、データベースなどのデータをテーブルに表示したり、ユーザーが行を追加して、表形式のデータを追加したりできるようにします。
繰り返しテーブルは、3つの部分、見出し行、1つ以上のデータ行、フッター行で構成されます。 通常、ヘッダー行は列見出しに使用され、フッター行を使用して、データ行の値を合計するテキストボックスまたは式ボックスを挿入することができます。 データ行は、テーブルに設定されているデータが動的に、またはユーザーがテーブルにデータを入力した結果として、何度も繰り返されます。 ヘッダーとフッター行は1つしかありません。既定では、ヘッダー行と1つのデータ行のみが表示されます。
繰り返しテーブルは次のような場合に使用します。
-
構造化された表にユーザーがデータを入力できるようにする。
-
品目、数値データ、およびテーブルに表示するのに適したその他の種類のデータを収集する。
-
実際にデータが含まれている行だけを表示し、フォーム テンプレートのスペースを節約する。
-
データベース、Web サービス、またはフォーム テンプレートのテーブルの他のデータ ソースからのレコードを表示または操作する。
繰り返し再帰セクション
ほかのコントロールを含む繰り返し再帰セクションは、それ自体に挿入でき、ネストされた参照グループにバインドされます (バインド: コントロールに入力されたデータが保存されるように、データ ソース内のフィールドまたはグループにコントロールを接続すること。 コントロールがバインドされていない場合、コントロールはフィールドまたはグループに接続されていないので、コントロールに入力されたデータは保存されません)。 (参照グループ: グループのプロパティおよびグループに含まれるフィールドのプロパティが常に一致するように、別のグループに関連付けられているグループ。 一方のグループのプロパティが変更されると、他のグループも自動的に更新されます)。 繰り返し再帰セクションを使用すると、アウトラインなどの階層型のコンテンツを作成できます。
横方向繰り返しテーブル
横方向の繰り返しテーブルは、横方向に繰り返される行の数を含むテーブルと、その横に行見出しが含まれているテーブルを含む繰り返しセクションです。 これらの個々のコンポーネントは、データが追加されると、行の代わりに列を追加することによって拡張され、表形式のデータを含めたり収集したりできる事前構成済みのコレクションにまとめられています。 たとえば、水平方向の繰り返しテーブルを使って、四半期ごとの売上データを収集することができます。 フォームテンプレートがデータベースにリンクされている場合は、水平方向の繰り返しテーブルを使用して、そのデータベースのレコードの表示や操作を行うこともできます。
横方向繰り返しテーブルは、既定で表示されるヘッダー列と、表に入力されたデータを収容するために、動的に、またはユーザーがテーブルにデータを入力した結果として、必要に応じて繰り返し表示されるデータ列という 2 つの部分で構成されます。
横方向繰り返しテーブルは次のような場合に使用します。
-
構造化された表にユーザーがデータを入力できるようにする。
-
テーブルで最適に表示されているユーザーからのデータを収集する。
-
実際にデータが含まれている列だけを表示し、フォーム テンプレートのスペースを節約する。
-
データベース、Web サービス、またはフォーム テンプレートのテーブルの他のデータ ソースからのレコードを表示または操作する。
マスターと詳細
ユーザーがフォームで大量のデータ、たとえば、データベース内の複数のレコードを操作することを想定する場合、マスターと詳細コントロールを使用してそのデータの管理を行いやすくします。 マスター コントロール内のアイテムを選択すると、そのアイテムに関連する情報が詳細コントロールに表示されます。
たとえば、従業員レコードのデータベースに接続する人事フォームをデザインするときに、マスターと詳細コントロールを使用できます。 マスター コントロールで従業員の名前と役職を表示し、詳細コントロールで従業員の所属、入社日、生年月日などを表示できます。 データベース用語で、これは一対一リレーションシップに相当します。
同様に、マスター コントロールを使用して一連のレコード (たとえば、顧客名) を表示し、詳細コントロールを使用して関連するレコード (たとえば、顧客注文) を表示することができます。 データベース用語で、これは一対多リレーションシップに相当します。
マスターと詳細のリレーションシップ
マスターと詳細コントロールは、実際には 2 つの関連するコントロールのセットです。 これらのコントロールの 1 つは、指定されたマスター コントロールで、もう 1 つは指定された詳細コントロールです。 マスター コントロールは、常に繰り返しテーブルです。 詳細コントロールは、繰り返しテーブルまたは繰り返しセクションのいずれかにできます。 フォームに適切な繰り返しコントロールを挿入し、各コントロールのプロパティを変更することで、マスターと詳細のリレーションシップを作成できます。 または、[コントロール] 作業ウィンドウの [コンテナー] セクションで、定義済みのマスターと詳細コントロールを挿入することができます。
[コントロール] 作業ウィンドウからマスターと詳細コントロールを挿入すると、Microsoft Office InfoPath 2010 は、マスター コントロールと詳細コントロール間に一対一リレーションシップを確立します。 つまり、マスター コントロール内で選択された各行と一致する結果は、詳細コントロール内で 1 つのみです。 一般的な一対一リレーションシップでは、マスターおよび詳細コントロールは、データ ソースで同じ繰り返しグループにバインドされます。
希望する場合、マスターと詳細コントロールの一対多リレーションシップを確立するために、関連するデータが含まれるデータ ソースのキー フィールドを指定できます。 この種類のリレーションシップでは、マスター コントロールで選択した各項目が、詳細コントロールの結果で複数に一致する可能性があります。 たとえば、マスター コントロールで、仕入先のレコードを 1 つ選択すると、その仕入先に関連付けられている製品を詳細コントロールに表示できます。 一般的な一対多リレーションシップでは、マスターと詳細コントロールは、データ ソースで別の繰り返しグループにバインドされます。
一対多リレーションシップを確立するには、各コントロールの [プロパティ] ダイアログ ボックスの [マスターと詳細] タブでオプションを使用し、適切なキー フィールドを指定する必要があります。
マスターと詳細コントロールは、実際には 2 つの関連するコントロールのセットです。 一方のコントロールはマスター コントロールとして指定され、もう一方のコントロールは詳細コントロールとして指定されます。 マスター コントロールは、常に繰り返しテーブルです。 詳細コントロールは、繰り返しテーブルまたは繰り返しセクションです。
マスタおよび詳細コントロールは、次のことを行う必要がある場合に使用します。
-
フォーム テンプレートに基づくフォームに入力するユーザーが、大量のデータを効率的に扱えるようにする。
-
一対一リレーションシップに相当するものを表示する。 たとえば、従業員レコードのデータベースに接続する人事フォーム テンプレートをデザインするときに、マスタおよび詳細コントロールを使用できます。 マスタ コントロールで従業員の名前と役職を表示し、詳細コントロールで従業員の所属、入社日、および生年月日を表示できます。
-
一対多リレーションシップに相当するものを表示する。 たとえば、マスタ コントロールを使用して一連のレコード (たとえば、顧客名) を表示し、詳細コントロールを使用して関連するレコード (たとえば、顧客注文) を表示することができます。
InfoPath には、[コントロール] 作業ウィンドウを使用して挿入できる定義済みのマスタおよび詳細コントロールが用意されています。 また、繰り返しテーブルと繰り返しセクション (または 2 つの繰り返しテーブル) を挿入し、各コントロールのプロパティを変更することにより、マスタおよび詳細コントロールを作成することもできます。
フォームテンプレートが主に画面に表示されるように設計されている場合は、フォームテンプレートのスクロール領域コントロール内に詳細コントロールを配置することを検討してください。 このようにすると、コントロールに大量のデータが表示されている場合、ユーザーはデータをスクロールできます。 スクロール領域で非表示になっているデータは、印刷されたフォームにも表示されないため、ユーザーがフォームを印刷する必要があると思われる場合は、このオプションは適していません。
繰り返し選択肢グループ
フォームに入力するときにユーザーが複数の選択肢グループを追加できるように、フォーム上の繰り返し選択肢グループを挿入できます (選択肢グループ: 相互に排他的な選択肢のセットを表示するために使用されるコントロール。 既定では、選択肢グループには 2 つの選択肢セクションが含まれ、そのうちの 1 つはフォームの既定の選択肢としてユーザーに表示されます。 )。
フォーム上の既定の選択肢の上にマウス ポインターを動かすと、繰り返し選択肢グループの左上隅に、ショートカット メニュー ボタンが表示されます。 このボタンをクリックすると、選択肢を挿入、削除、または置換するオプションが表示されます。
たとえば、出張フォームでは、繰り返し選択肢グループを使用してユーザーがその出張に関する情報を入力できるようにできます。 移動手段のセグメントごとに、3 つのオプション (フライト、車、列車) のいずれかを選択できます。 それぞれの選択肢で、異なるフィールドのセットが表示されます。
繰り返しデータ コントロールの挿入
繰り返し再帰セクションを挿入する
注: [空白のフォーム (InfoPath Filler)] フォーム テンプレートを使用して作成されたフォーム、または [フォームのオプション] ダイアログ ボックスで [互換性] が [InfoPath Filler フォーム] に設定されているフォームにのみ、[繰り返し再帰セクション] コントロールを挿入できます。
繰り返し再帰セクションを挿入する (データ ソースを自動的に作成する)
ユーザーが繰り返し再帰セクションを挿入したときに、Microsoft Office InfoPath 2010 がデータ ソースを作成することを選択した場合は、InfoPath 自体への参照を含む繰り返しグループが作成されます。
-
繰り返し再帰セクションを挿入する位置に挿入ポイントを置きます。
-
[コントロール] 作業ウィンドウが表示されない場合、[ホーム] タブの [コントロール] セクションの右下隅にある [コントロール ウィンドウ] ボタンをクリックします。
-
[コントロール] 作業ウィンドウで [自動的にデータ ソースを作成する] チェック ボックスをオンにします。
注: チェック ボックスが使用できない場合、フォームのデザインでは、データ ソースの自動作成が許可されません。 既存の繰り返しグループまたは作成したグループにバインドされている繰り返し再帰セクションを挿入する必要があります。
-
[コンテナー] コントロールで、[繰り返し再帰セクション] をクリックします。
-
セクションにコントロールを追加するには、[コントロール] 作業ウィンドウからコントロールをセクションにドラッグします。
注: コントロールのフィールドが既にセクションのグループに含まれているのでなければ、既にフォームにあるコントロールをセクションに移動しないでください。
繰り返し再帰セクションを挿入する (既存の繰り返しグループにバインドする)
-
繰り返し再帰セクションを挿入する位置に挿入ポイントを置きます。
-
[フィールド] 作業ウィンドウが表示されない場合、[データ] タブの [フォーム データ] セクションにある [フィールドの表示] をクリックします。
-
[フィールド] 作業ウィンドウで、繰り返し再帰セクションをバインドするグループを右クリックします。
-
[繰り返し再帰セクション] をクリックします。
注: グループは繰り返し表示され、それ自体への参照を含める必要があります。 このようなグループを作成するには、[フィールド] 作業ウィンドウで繰り返しグループを右クリックし、[参照] をクリックして、グループ自体 (右クリックしたグループ) を参照します。
ヒント: [自動的にデータ ソースを作成する] チェック ボックスがオフであれば、[コントロール] 作業ウィンドウ使用して、既存のグループにバインドされている繰り返し再帰セクションを挿入することもできます。
繰り返し選択肢グループを挿入する
繰り返し選択肢グループを挿入する (データ ソースを自動的に作成する)
繰り返し選択肢グループ (およびその他のコントロール) を挿入するときに、Microsoft Office InfoPath 2010 がデータ ソースを自動的に作成するようにできます。 このようにした場合、繰り返し選択肢グループ内の選択肢セクションにバインドされているグループが作成されます。 さらに、InfoPath では、繰り返し選択肢グループにバインドされている「仮想」グループを作成します。 [フィールド] 作業ウィンドウで、仮想グループの名前の後に ”(選択肢)” が続きます。
注: [空白のフォーム (InfoPath Filler)] フォーム テンプレートを使用して作成されたフォーム、または [フォームのオプション] ダイアログ ボックスで [互換性] が [InfoPath Filler フォーム] に設定されているフォームにのみ、[繰り返し選択肢グループ] コントロールを挿入できます。
-
繰り返し選択肢グループを挿入する位置に挿入ポイントを置きます。
-
[コントロール] 作業ウィンドウが表示されない場合、[ホーム] タブの [コントロール] セクションの右下隅にある [コントロール ウィンドウ] ボタンをクリックします。
-
[コントロール] 作業ウィンドウで [自動的にデータ ソースを作成する] チェック ボックスをオンにします。
-
[コンテナー] で [繰り返し選択肢グループ] をクリックします。
2 つの選択肢セクションを含む繰り返し選択肢グループがフォームに表示されます。
-
繰り返し選択肢グループ内の選択肢セクションにコントロールを追加するには、次のいずれかの操作を行います。
-
既定の選択肢セクションにコントロールを追加するには、[コントロール] 作業ウィンドウから、"選択肢セクション (既定)" というラベルの選択肢セクションに、目的のコントロールをドラッグします。
-
代替選択肢セクションにコントロールを追加するには、[コントロール] 作業ウィンドウから、"選択肢セクション" というラベルの選択肢セクションに、目的のコントロールをドラッグします。
-
-
セクションをテストするには、[ホーム] タブで [プレビュー] をクリックします。
複数のオプションをユーザーに表示するには、繰り返し選択肢グループ内に追加の選択肢セクションを挿入できます。 これを行うには、繰り返し選択肢グループ内に挿入ポイントを置き、[コントロール] 作業ウィンドウの [コンテナー] で [選択肢セクション] をクリックします。
繰り返し選択肢グループを挿入する (既存のグループにバインドする)
-
繰り返し選択肢グループを挿入する位置に挿入ポイントを置きます。
-
[フィールド] 作業ウィンドウが表示されない場合、[データ] タブの [フォーム データ] セクションにある [フィールドの表示] をクリックします。
-
[フィールド] 作業ウィンドウで繰り返し選択肢グループをバインドするグループを右クリックし、[繰り返し選択肢グループ] をクリックします。
注: [繰り返し選択肢グループ] が選択できない場合は、バインドしようとしているグループが、この種類のコントロールをサポートしていない可能性があります。 繰り返し選択肢グループは、繰り返し仮想グループのみにバインドできます。 データ ソースで、仮想グループは ”(選択肢)” として表示されます。
-
セクションをテストするには、[ホーム] タブで [プレビュー] をクリックします。
ヒント: [自動的にデータ ソースを作成する] チェック ボックスがオフであれば、[コントロール] 作業ウィンドウを使用して、既存のグループにバインドされている繰り返し選択肢グループを挿入することもできます。
繰り返しテーブルを挿入する
-
コントロールを挿入する位置にカーソルを置きます。
-
[コントロール] 作業ウィンドウが表示されない場合、[ホーム] タブの [コントロール] セクションの右下隅にある [コントロール ウィンドウ] ボタンをクリックします。
-
[コンテナー] で [繰り返しテーブル] をクリックします。
-
新しい空白のフォーム テンプレートに繰り返しテーブルを挿入する場合、次の操作を実行します。
-
[列数] ボックスに、テーブルに含める列数を入力し、[OK] をクリックします。
-
繰り返しテーブルは、各列にテキスト ボックスが入った状態で作成されます。 このテキスト ボックスを別の種類のコントロールに変更するには、テキスト ボックスを右クリックし、[コントロールの変更] をポイントし、使用するコントロールをクリックします。
-
-
既存のデータ ソースに基づくフォーム テンプレートに繰り返しテーブルを挿入する場合、次の操作を実行します。
-
繰り返しテーブルのバインド ウィザードの最初のページで、使用するデータ ソースを [データ ソース] の一覧からクリックし、テーブルの行をバインドする (繰り返しグループ) をクリックします。
新しい繰り返しグループを作成するには、繰り返しグループを追加するグループを右クリックし、ショートカット メニューの [追加] をクリックしてから、[フィールドまたはグループの追加] ダイアログ ボックスで繰り返しグループのプロパティを指定します。
-
[次へ] をクリックします。
-
繰り返しテーブルのバインド ウィザードの 2 番目のページにある [データのバインド] の一覧で、繰り返しテーブルに列として追加するフィールドをダブルクリックします。
[データのバインド] の一覧で新しいフィールドを作成する場合は、繰り返しテーブルがバインドされるグループを右クリックし、[追加] をクリックしてから、[フィールドまたはグループの追加] ダイアログ ボックスでフィールドのプロパティを入力します。
-
列の順序を変更するには、[表示する列] の一覧で列を選択して、[上へ移動] または [下へ移動] をクリックします。
-
繰り返しセクションを挿入する
-
フォーム テンプレートで、コントロールを挿入する位置にカーソルを置きます。
-
[コントロール] 作業ウィンドウが表示されない場合、[ホーム] タブの [コントロール] セクションの右下隅にある [コントロール ウィンドウ] ボタンをクリックします。
-
[コンテナー] で [繰り返しセクション] をクリックします。
-
新しい空白のフォーム テンプレートに繰り返しセクションを挿入する場合、次の操作を実行します。
-
繰り返しセクションにコントロールを追加するには、[コントロール] 作業ウィンドウからフォーム テンプレートの繰り返しセクションにコントロールをドラッグします。
注: コントロールのフィールドが既にデータ ソースのセクションのグループに含まれているのでなければ、既にフォーム テンプレートにあるコントロールをセクションに移動しないでください。 そうしないと、コントロールのバインドは動作しなくなります。
-
コントロールにラベルを追加するには、その上にテキストを入力します。
-
-
既存のデータ ソースに基づくフォーム テンプレートに繰り返しセクションを挿入する場合、次の操作を実行します。
-
[繰り返しセクションのバインド] ダイアログ ボックスで、繰り返しセクションのデータを格納する繰り返しグループを選択し、[OK] をクリックします。
-
繰り返しセクションにコントロールを追加し、データ ソースの適切なフィールドにそのコントロールをバインドします。
-
InfoPath では、フィールドまたはグループの名前がコントロールのラベルとして使用されます。 必要に応じて、ラベル テキストを変更します。
[フィールド] 作業ウィンドウを使ってコントロールを挿入することもできます。 [フィールド] 作業ウィンドウで繰り返しセクションをバインドする繰り返しグループを右クリックし、[繰り返しセクション] をクリックします。
-
マスターと詳細コントロールを挿入する
注: [空白のフォーム (InfoPath Filler)] フォーム テンプレートを使用して作成されたフォーム、または [フォームのオプション] ダイアログ ボックスで [互換性] が [InfoPath Filler フォーム] に設定されているフォームにのみ、[マスターと詳細] コントロールを挿入できます。
新しい空白のフォーム テンプレートにマスターと詳細コントロールを挿入する
InfoPath には、[コントロール] 作業ウィンドウを使用して挿入できる定義済みのマスタおよび詳細コントロールが用意されています。 また、繰り返しテーブルと繰り返しセクション (または 2 つの繰り返しテーブル) を挿入し、各コントロールのプロパティを変更することにより、マスタおよび詳細コントロールを作成することもできます。
新しい空白のフォーム テンプレートをデザインする場合、[コントロール] 作業ウィンドウの [自動的にデータ ソースを作成する] チェック ボックスが既定で選択されています。 このため、InfoPath では、フォーム テンプレートにコントロールが追加されると、データ ソースにフィールドおよびグループが自動的に作成されます。 これらのフィールドおよびグループは、[データ ソース] 作業ウィンドウではフォルダー アイコンおよびファイル アイコンで表されます。
-
フォーム テンプレートで、コントロールを挿入する位置にカーソルを置きます。
-
[コントロール] 作業ウィンドウが表示されない場合、[ホーム] タブの [コントロール] セクションの右下隅にある [コントロール ウィンドウ] ボタンをクリックします。
-
[コンテナー] で、[マスターと詳細] をクリックします。
-
[マスターと詳細の挿入] ダイアログ ボックスの [マスターに含まれる列の数] ボックスに、マスター コントロールの列の数を入力します。
-
[詳細に含まれるフィールドの数] ボックスに、詳細コントロールのフィールドの数を入力し、[OK] をクリックします。
2 つのコントロール、[繰り返しテーブル (マスター)] と [繰り返しセクション (詳細)] がフォーム テンプレートに挿入されました。
-
マスターと詳細のリレーションシップをテストするには、[ホーム] タブで [プレビュー] をクリックし、マスター コントロールにデータを入力します。 関連するデータは、詳細コントロールに表示されます。 また、マスター コントロール内の異なる行をクリックして、詳細コントロールに対応するデータが表示されていることを確認します。
既存のデータ ソースに基づくフォーム テンプレートにマスターと詳細コントロールを挿入する
フォーム テンプレートのデザインが既存の拡張マークアップ言語 (XML) ファイル、データベース、または Web サービスに基づく場合、[データ ソース] 作業ウィンドウのフィールドおよびグループは、その既存のデータ ソースから生成されます。 このシナリオでは、次の手順で説明するように、[コントロール] 作業ウィンドウからマスターと詳細コントロールを挿入できます。
マスタおよび詳細コントロールは、必要に応じて、同じ繰り返しグループまたは異なる繰り返しグループにバインドできます。 マスタおよび詳細コントロールの内部に表示されるコントロールは、繰り返しグループの一部であるフィールドにバインドされます。
-
フォーム テンプレートで、コントロールを挿入する位置にカーソルを置きます。
-
[コントロール] 作業ウィンドウが表示されない場合、[ホーム] タブの [コントロール] セクションの右下隅にある [コントロール ウィンドウ] ボタンをクリックします。
-
[コンテナー] で [繰り返しテーブル] をクリックします。
-
繰り返しテーブルのバインド ウィザードの最初のページで、テーブル行をバインドする繰り返しグループをクリックし、[次へ] をクリックします。 テーブルの列が 1 つだけの場合、繰り返しグループの代わりに、繰り返しフィールドを選択できます。
テーブルをバインドする新しい繰り返しグループを作成するには、繰り返しグループを追加するグループを右クリックし、[追加] をクリックします。次に、[フィールドまたはグループの追加] ダイアログ ボックスで、繰り返しグループのプロパティを入力します。
-
テーブルに含める列を追加するには、[データのバインド] の一覧でフィールドをダブルクリックします。
列として追加する新しいフィールドを作成するには、テーブルをバインドするグループを右クリックし、ショートカット メニューの [追加] をクリックします。次に、[フィールドまたはグループの追加] ダイアログ ボックスで、フィールドのプロパティを入力します。
-
列を並べ替えるには、[表示する列] の一覧で列をクリックし、[上へ移動] または [下へ移動] をクリックします。次に、[完了] をクリックします。
-
フォーム テンプレートのテーブルの下にある [繰り返しテーブル] ラベルをダブルクリックします。
-
リボンの [コントロール ツールのプロパティ] タブで、[マスターと詳細] をクリックします。
-
[マスターとして設定する] をクリックし、[マスター ID] ボックスにマスター コントロールの ViewContext 識別子を入力し、[OK] をクリックします。
コントロールの ViewContext 識別子を表示するには、コントロールを右クリックし、[< コントロールの種類 > のプロパティ] をクリックし、[詳細設定] タブをクリックします。 ViewContext 識別子は、タブの [コード] セクションの下に表示されます。 ViewContext: ラベルの横の値を強調表示し、Ctrl キーを押しながら C キーを押して値をクリップボードにコピーできます。 通常、マスターと詳細コントロールを構成する場合、マスター コントロールは繰り返しテーブルそのものなので、この手順で構成する繰り返しテーブルの ViewContext 識別子を使用します。
-
フォーム テンプレート上の繰り返しセクション (詳細コントロール) を挿入する場所にカーソルを置きます。
-
[コントロール] 作業ウィンドウの [コンテナー] で、[繰り返しセクション] をクリックします。
または、別の繰り返しテーブルを詳細コントロールとして使用することもできます。
-
繰り返しセクションのバインド ウィザードの最初のページで、セクションをバインドする繰り返しグループをクリックし、[OK] をクリックします。
-
フォーム テンプレートのセクションの下に表示される [繰り返しセクション] ラベルをダブルクリックします。
-
リボンの [コントロール ツールのプロパティ] タブで、[マスターと詳細] をクリックします。
-
[詳細として設定] をクリックし、[マスター ID にリンクする] リストのマスターコントロールの名前をクリックします。 選択する名前は、手順9で指定したコントロールのViewContext識別子に対応している必要があります。
-
マスターと詳細コントロールの既定の一対一リレーションシップを一対多リレーションシップに変更するには、[マスターと詳細のリレーションシップ] で [キー フィールドでリンク] をクリックします。次に、[キー フィールド (マスター)] ボックスと [キー フィールド (詳細)] ボックスの横にある (XPath の選択) をクリックし、適切な関連するデータを含むデータ ソースからキー フィールドを指定して一対多リレーションシップを作成します。
-
マスターと詳細のリレーションシップをテストするには、[ホーム] タブで [プレビュー] をクリックし、マスター コントロールにデータを入力します。 関連するデータは、詳細コントロールに表示されます。 また、マスター コントロール内の異なる行をクリックして、詳細コントロールに対応するデータが表示されていることを確認します。
[フィールド] 作業ウィンドウを使用して、マスター/詳細コントロールを挿入することもできます。 マスターコントロールを作成するには、[フィールド] 作業ウィンドウで、マスターコントロールのバインド先となる繰り返しグループを右クリックし、[繰り返しテーブル] をクリックします。 詳細コントロールを作成するには、同じ一般的な手順に従います。
マスタおよび詳細の既定のリレーションシップを変更する
[コントロール] 作業ウィンドウを使用してフォーム テンプレートにマスタおよび詳細コントロールを挿入すると、InfoPath により、マスタ コントロールと詳細コントロールの間に一対一リレーションシップが確立されます。 一対一リレーションシップとは、マスタ コントロールで選択した項目ごとに、一致する単一の結果が詳細コントロールに表示されるということです。
マスタと詳細のリレーションシップを、一対一リレーションシップから一対多リレーションシップに変更することができます。 一対多リレーションシップとは、マスタ コントロールで選択した項目ごとに、一致する複数の結果が詳細コントロールに表示されるということです。
フォーム テンプレートにマスタおよび詳細コントロールを挿入すると、既定では、InfoPath によって繰り返しテーブルと繰り返しセクションが挿入されます。 これらのコントロールは、データ ソースの同じ繰り返しグループにバインドされます。 既定では、どちらのコントロールにも、その繰り返しグループのフィールドにバインドされた別のコントロールが含まれます。 ただし一対多リレーションシップの場合、マスタおよび詳細コントロールは、通常は別々の繰り返しグループにバインドされます。
[コントロール] 作業ウィンドウからフォーム テンプレートにマスタおよび詳細コントロールを挿入して、一対一リレーションシップではなく一対多リレーションシップを確立する場合、InfoPath によって作成された詳細コントロールを削除できます。 その後、次の手順で示すようにして、ニーズに適した新しい詳細コントロールを作成できます。
-
詳細コントロールとして指定される繰り返しセクションを選択し、Del キーを押します。
-
フォーム テンプレートに新しい繰り返しセクションを挿入します。
-
フォーム テンプレートで、コントロールを挿入する位置にカーソルを置きます。
-
[コントロール] 作業ウィンドウが表示されない場合、[ホーム] タブの [コントロール] セクションの右下隅にある [コントロール ウィンドウ] ボタンをクリックします。
-
[コントロール] 作業ウィンドウで [自動的にデータ ソースを作成する] チェック ボックスをオンにします。
-
[コントロールの挿入] で [繰り返しセクション] をクリックします。
-
-
目的のコントロールを繰り返しセクションに挿入します。
-
フォーム テンプレートで、コントロールを挿入する位置にカーソルを置きます。
-
[コントロール] 作業ウィンドウが表示されない場合、[ホーム] タブの [コントロール] セクションの右下隅にある [コントロール ウィンドウ] ボタンをクリックします。
-
[コントロール] 作業ウィンドウで [自動的にデータ ソースを作成する] チェック ボックスをオンにします。
-
[コントロールの挿入] で、挿入するコントロールをクリックします。
-
挿入するコントロールごとに、手順 1. ~ 4. を繰り返します。
-
-
フォーム テンプレート上の繰り返しセクションのタブをダブルクリックします。
-
リボンの [コントロール ツールのプロパティ] タブで、[マスターと詳細] をクリックします。
-
[マスターと詳細の設定] で、[詳細として設定する] をクリックします。
-
[マスター ID にリンクする] の一覧で、マスター コントロールの ViewContext 識別子をクリックします。
コントロールの ViewContext 識別子を表示するには、コントロールを右クリックし、[< コントロールの種類 > のプロパティ] をクリックし、[詳細設定] タブをクリックします。 ViewContext 識別子は、タブの [コード] セクションの下に表示されます。 ViewContext: ラベルの横の値を強調表示し、Ctrl キーを押しながら C キーを押して値をクリップボードにコピーできます。
-
[マスターと詳細のリレーションシップ] で、[キー フィールドでリンク] をクリックします。
-
[キー フィールド (マスター)] の横にある (XPath の選択) をクリックします。次に、[フィールドまたはグループの選択] ダイアログ ボックスでマスター コントロールのキー フィールドをクリックし、[OK] をクリックします。
-
[キー フィールド (詳細)] の横にある (XPath の選択) をクリックします。次に、[フィールドまたはグループの選択] ダイアログ ボックスで詳細コントロールのキー フィールドをクリックし、[OK] をクリックします。
最初にマスタおよび詳細コントロールを作成するときに一対多リレーションシップを作成する場合は、[コントロール] 作業ウィンドウで使用可能な定義済みのマスタおよび詳細コントロールを使用するのではなく、独自のマスタおよび詳細コントロールを手動で作成することを検討してください。 独自のコントロールを作成するには、フォーム テンプレート上の繰り返しテーブルと繰り返しセクション、または 2 つの繰り返しテーブルの間で、マスタと詳細のリレーションシップを確立します。 それには、各コントロールの [プロパティ] ダイアログ ボックスを開き、一方のコントロールをマスタ コントロールとして指定し、もう一方のコントロールを詳細コントロールとして指定します。 詳細コントロールのプロパティを変更することにより、キー フィールドを使用して一対多リレーションシップを設定できます。
横方向繰り返しテーブルを挿入する
注: [空白のフォーム (InfoPath Filler)] フォーム テンプレートを使用して作成されたフォーム、または [フォームのオプション] ダイアログ ボックスで [互換性] が [InfoPath Filler フォーム] に設定されているフォームにのみ、[横方向繰り返しテーブル] コントロールを挿入できます。
-
フォーム テンプレートで、コントロールを挿入する位置にカーソルを置きます。
-
[コントロール] 作業ウィンドウが表示されない場合、[ホーム] タブの [コントロール] セクションの右下隅にある [コントロール ウィンドウ] ボタンをクリックします。
-
[コンテナー] で [横方向繰り返しテーブル] をクリックします。
-
新しい空白のフォーム テンプレートに横方向繰り返しテーブルを挿入する場合、次の操作を実行します。
-
[行数] ボックスで、既定でテーブルに挿入する行数を入力します。
-
横方向繰り返しテーブルが作成され、データ列の各行にテキスト ボックスが表示されます。 このテキスト ボックスを別の種類のコントロールに変更するには、コントロールを右クリックし、[コントロールの変更] をポイントし、使用するコントロールをクリックします。
-
-
既存のデータ ソースに基づくフォーム テンプレートに横方向繰り返しテーブルを挿入する場合、次の操作を実行します。
-
繰り返しテーブルのバインド ウィザードの最初のページで、使用するデータ ソースを [データ ソース] の一覧からクリックし、テーブルの行をバインドする (繰り返しグループ) をクリックします。
新しい繰り返しグループを作成するには、繰り返しグループを追加するグループを右クリックし、[追加] をクリックしてから、[フィールドまたはグループの追加] ダイアログ ボックスで繰り返しグループのプロパティを指定します。
-
[次へ] をクリックします。
-
繰り返しテーブルのバインド ウィザードの 2 番目のページの [データのバインド] の一覧で、繰り返しテーブルに列として追加するフィールドをダブルクリックします。
[データのバインド] の一覧で新しいフィールドを作成する場合は、横方向繰り返しテーブルがバインドされるグループを右クリックし、[追加] をクリックしてから、[フィールドまたはグループの追加] ダイアログ ボックスでフィールドのプロパティを入力します。
-
列の順番を変更するには、[テーブル内の行] ボックスの一覧で列を選択し、[前に移動] または [後に移動] をクリックします。
-
[完了] をクリックします。
-
繰り返しデータ コントロールのレイアウトのヒント
次のヒントは、繰り返しデータ コントロール内のコントロールの外観、サイズ、およびその他の側面を微調整するのに役立ちます。
-
繰り返しデータ コントロール内のいくつかのコントロールのサイズを一度に変更するには、Ctrl キーを押しながら、サイズを変更するテキスト ボックスを選択し、リボンの [コントロール ツールのプロパティ] タブの [コントロール サイズ] セクションで、必要な調整を行います。
-
繰り返しデータ コントロール内のコントロールの枠線または色を一度に変更するには、Ctrl キーを押しながら変更するテキスト ボックスを選択します。 リボンの [コントロール ツールのプロパティ] タブで、タブの [色] セクションの [枠線] または [網かけ] のいずれかをクリックし、必要な調整を行います。
-
繰り返しデータ コントロール内のテキスト ボックスに表示されるテキストをカスタマイズするには、リボンの [ホーム] タブの [テキストの書式設定] セクションで、[フォント] と [フォント サイズ] ボックスを使用します。 または、リボンの [ホーム] タブの [フォント スタイル] セクションを使用できます。
繰り返しセクションのレイアウトのヒント
次のヒントは、[繰り返しセクション] コントロール内のコントロールの外観、サイズ、およびその他の側面を微調整するのに役立ちます。
-
場合によっては、繰り返しセクションのコントロール内のテキストとそれらのコントロールの左のラベルが、若干ずれて表示されることがあります。 これらをすばやく配置し直すには、コントロールを右クリックし、[< コントロールの種類 > のプロパティ] をクリックし、[サイズ] タブの [配置] をクリックして、[適用] をクリックします。 ラベルとコントロールがレイアウト用の表内の異なるセルに配置されている場合、ラベルが含まれているセルを右クリックし、ショートカット メニューの [表のプロパティ] をクリックして、[セル] タブの [垂直方向の配置] で [中央揃え] をクリックします。
-
[繰り返しセクションのプロパティ] ダイアログ ボックスの [表示] タブの [縦方向に繰り返す] オプションは既定で選択されています。 つまり、ユーザーが繰り返しセクションを追加すると、フォームの長さに合わせてそれらのセクションが縦方向に並んで表示されます。 代わりに、[横方向に繰り返す] オプションを選択することで横方向に繰り返しセクションを展開するように選ぶこともできます。 これにより、完全に異なるレイアウトを作成することができます。 たとえば、予定表のようなフォーム テンプレートを作成することができます。 [横方向に繰り返す] オプションは、ブラウザー互換フォーム テンプレートではサポートされていません。
横方向繰り返しテーブルのレイアウトのヒント
以下のヒントを使用して、[横方向繰り返しテーブル] コントロールおよびそれに含まれるコントロールの外観やサイズなどを調整できます。
-
横方向繰り返しテーブルは、レイアウト用の表内の繰り返しセクションで構成されます。 ユーザーが追加の列を追加するときに、レイアウト用の表の右端に達すると、列は次の行に折り返されます。 列の折り返しを制御するには、レイアウト用の表で繰り返しセクション コントロールを囲むセルの右端を左右にドラッグします。
-
横方向繰り返しテーブルは印刷に向いています。 コントロールの列はフォーム テンプレートの次の行に折り返されるので、テーブル内のすべての情報が印刷されます。 ただし、主に画面に表示して使用する場合は、横方向繰り返しテーブルをフォーム テンプレートの [スクロール領域] コントロール内に挿入します。 これにより、ユーザーが横方向繰り返しテーブルに大量のデータを入力した場合に、フォームに全体を表示せずにスクロールして表示することができます。 ただし、スクロール領域を使用する場合、ユーザーがフォームを印刷するときは、スクロール領域の画面上に表示されているデータのみが印刷されることにご注意ください。
繰り返しセクションをカスタマイズする方法
繰り返しセクションをフォーム テンプレートに挿入した後で、その繰り返しセクションをカスタマイズするには、[繰り返しセクションのプロパティ] ダイアログ ボックスでプロパティと設定を変更します。 このダイアログ ボックスを開くには、フォーム テンプレート上で、プロパティを変更する繰り返しセクションを右クリックし、[繰り返しセクションのプロパティ] をクリックします。
次の表は、繰り返しセクションをカスタマイズする方法および目的の一覧です。 この表には、[繰り返しセクションのプロパティ] ダイアログ ボックスのオプション別の詳細な手順情報は記載されていませんが、さまざまなカスタマイズ方法について概要を理解できます。
注:
-
ブラウザー互換フォーム テンプレートをデザインする場合は、[繰り返しセクションのプロパティ] ダイアログ ボックスの特定の機能を使用できません。 たとえば、セクションを横方向に並べて挿入するような設定を有効にすることはできません。
-
フォーム テンプレートがデータベース、スキーマ、その他の既存のデータ ソースに基づく場合、一部のコントロールをカスタマイズできないことがあります。 たとえば、コントロールのサイズを変更できても、既存のデータ ソースから取得したフィールド名やグループ名は変更できないことがあります。
タブ |
タスク |
詳細 |
[データ] |
グループ名を変更する |
テンプレートから新しい空のフォーム テンプレートを設計するとき、コントロールのフィールド名やグループ名をデータ ソースを利用するときに特定しやすい名前に変更できます。 たとえば、保険フォーム テンプレートで、グループ名を「扶養家族」にすると、「グループ 1」という名前よりわかりやすくなります。 注: グループ名を変更しても、フォーム テンプレートの繰り返しセクションとデータ ソース内の繰り返しグループとの間のバインドは変わりません。 繰り返しグループを別の繰り返しグループにバインドする必要がある場合は、繰り返しセクションを右クリックし、[バインドの変更] をクリックします。 |
[データ] |
セクションの挿入や削除を禁止する |
既定では、[ユーザーによるセクションの挿入と削除を許可する] チェック ボックスがオンになっています。 このチェック ボックスをオフにすると、ユーザーは繰り返しセクションでのセクションの挿入と削除を禁止されます。 フォームを報告書として使う場合のように、繰り返しデータの表示だけを許可し、データの変更や新しいセクションの追加を禁止する場合、この設定は便利です。 |
[データ] |
メニュー コマンドをカスタマイズする |
セクションのプロパティに追加の変更を行う場合は、[変更] をクリックします。 たとえば、[コマンドのユーザー設定] ダイアログ ボックスで、ユーザーのフォームに対してセクションを挿入または削除するためのメニュー コマンドの名前と場所をカスタマイズできます。 このカスタマイズにより、フォーム テンプレートが使いやすくなります。 たとえば、フォームから繰り返しセクションを削除するようなユーザー設定コマンドを [編集] メニューに追加できます。 |
[データ] |
ヒントのテキストを表示またはカスタマイズする |
既定では、[挿入ボタンとヒントのテキストを表示する]チェックボックスがオンになっています。 このチェックボックスをオフにすると、ユーザーがフォームに説明のテキストを表示しないようにしたり、操作方法のテキストをカスタマイズしたりすることができます。 たとえば、ユーザーが繰り返しセクションに扶養家族を入力する必要がある保険フォームテンプレートを使用している場合、繰り返しセクションの下に表示される "項目の挿入" テキストを変更して、"他の依存関係" を挿入することができます。 |
[表示] |
セクションを縦に並べずに横に並べる |
[縦方向に繰り返す] オプションは既定で選択されています。 つまり、ユーザーが繰り返しセクションを追加すると、フォームの長さに合わせてそれらのセクションが縦方向に並んで表示されます。 代わりに、横方向に繰り返しセクションを展開するように選ぶこともできます。 これにより、完全に異なるレイアウトを作成することができます。 たとえば、予定表のようなフォーム テンプレートを作成することができます。 [横方向に繰り返す] オプションは、ブラウザー互換フォーム テンプレートではサポートされていません。 |
[表示] |
データをフィルタする |
[フィルタ データ] をクリックして [フィルタ データ] ダイアログ ボックスを開き、フォームの入力値またはフォームで選択された場所に応じて繰り返しセクションのデータをフィルタできます。 たとえば、進行中のプロジェクトに関する情報を繰り返しセクションを使って収集する場合、進捗状況に基づいてプロジェクトをフィルタできるリスト ボックスを作成できます。 |
[マスターと詳細] |
マスターと詳細のリレーションシップを設定する |
[マスターと詳細] タブで、繰り返しテーブル (マスター コントロール) と繰り返しセクション (詳細コントロール) にマスターと詳細のリレーションシップを設定できます。 このようなリレーションシップがある場合、繰り返しテーブルで項目を選択すると、それに関連するデータが繰り返しセクションに表示されます。 マスターと詳細コントロールは、ブラウザー互換フォーム テンプレートではサポートされません。 |
[サイズ] |
サイズ、スペース、および余白を調整する |
[高さ] と [幅] の各ボックスに値を入力することで、コントロールのサイズを手動で指定できます。 コントロールの内側と外側の両方の間隔を調整するには、コントロールの内容を囲むバッファー領域のサイズ、または、コントロールの境界線とフォームテンプレート上の周囲のテキストやコントロールの間のスペースの量という余白を変更することもできます。 |
[詳細設定] |
タブ移動順の順序を変更する |
フォーム テンプレートの全体のタブ オーダーでコントロールの位置を変更できます。 タブ オーダーとは、ユーザーが Tab または Shift+Tab キーを押すと、あるフィールドから次のフィールドに、またはあるオブジェクトから次のオブジェクトにフォームのフォーカスが移動する順序のことです。 フォーム テンプレートのすべてのコントロールの既定のタブ移動順設定は 0 であり、タブ オーダーは 1 から始まります。 つまり、Tab キーを押すと、[タブ移動順] ボックスに 1 が指定されているコントロールが最初に表示されます。 [タブ移動順] ボックスに 2 が指定されているコントロールが 2 番目に表示され、その後も同様に表示されます。 [タブ移動順] ボックスに 0 が指定されているコントロールが最後に表示されます。 タブ オーダーでコントロールをスキップするには、[タブ移動順] ボックスに -1 を入力します。 |
[詳細設定] |
ヒントを指定する |
コントロールにカーソルを合わせたときに説明文を表示するには、[ヒント] ボックスにテキストを入力します。 合成音声や更新可能点字のような画面情報を可能にする画面読み上げソフトなど、アクセシビリティ ツールは、多くの場合、[ヒント] に基づいてユーザーの情報を解釈します。 |
[詳細設定] |
結合設定を指定およびカスタマイズする |
[結合設定] をクリックすると、いくつかのフォームが結合されているときの、ユーザーがコントロールに入力するデータの表示方法を指定できます。 たとえば、繰り返しセクションをターゲット フォームに挿入する順番を変更できます。 |
[詳細設定] |
繰り返しセクションの ViewContext 識別子または XmlToEdit 識別子を取得する |
ViewContext または XmlToEdit の値を使用して、コード内のコントロールを識別できます。 たとえば、ViewContext の値が判明している場合、その値を View クラスの SelectText または SelectNodes メソッドで使用し、コントロールにバインドされた XML データに対して編集操作を実行できます。 同じように、XmlToEdit の値が判明している場合は、その値を View オブジェクトの ExecuteAction メソッドで使用し、繰り返しコントロールのインスタンスを挿入または削除できます。 たとえば、XCollectionInsert または XCollectionRemoveAll などの ActionType 列挙値と、操作対象の特定のグループを識別する XmlToEdit 名を指定できます。 |
[ブラウザ フォーム] |
サーバーにデータを返送するための設定をカスタマイズする |
[ブラウザー フォーム] タブは、ブラウザー互換フォーム テンプレートを設計している場合にのみ表示されます。 ユーザーがフォームのセクションを挿入または削除したときに、データをサーバーに送信するかどうかを制御できます。 |
[その他のアクション] |
ルールを適用する |
繰り返しセクションのタブをダブルクリックし、リボンの [コントロールツールのプロパティ] タブの [ルール] セクションで [ルールの管理] をクリックします。 [ルール] 作業ウィンドウが表示されます。ここでは、ユーザーが繰り返しセクション内でコントロールを挿入または操作したときに、ルールを使用してアクションを適用することができます。 |
[その他のアクション] |
条件付き書式を追加する |
繰り返しセクションのタブをダブルクリックし、リボンの [コントロール ツールのプロパティ] の [ルール] セクションで [ルールの管理] をクリックし、[新規]、[書式設定] の順にクリックします。 これにより、条件付き書式ルールを作成して、可視性など、コントロールの外観をユーザーがフォームに入力した値に基づいて変更できます。 たとえば、ユーザーが、フォーム上の特定のチェック ボックスをオフにするたびに、繰り返しセクションを非表示にすることを選ぶことができます。 |