SubForm.LinkMasterFields プロパティ (Access)
LinkMasterFields プロパティ (LinkChildFields プロパティと共に) を使用して、フォームまたはレポート内のレコードを、グラフなどのサブフォーム、サブレポート、または埋め込みオブジェクトのレコードにリンクする方法を指定します。 これらのプロパティが設定されている場合、メイン フォームの新しいレコードに変更すると、サブフォーム内の関連レコードが自動的に更新されます。 読み取り/書き込みが可能な String です。
構文
式。LinkMasterFields
式SubForm オブジェクトを表す変数。
注釈
"LinkChildFields/リンク子フィールド" および "LinkMasterFields/リンク親フィールド" プロパティを、サブフォーム、サブレポート、または埋め込みオブジェクトに対して次のように設定することができます。
- LinkChildFields プロパティに、サブフォーム、サブレポート、または埋め込みオブジェクトの 1 つ以上のリンク フィールドの名前を入力します。
- LinkMasterFields プロパティの場合は、メイン フォームまたはレポートに 1 つ以上のリンク フィールドまたはコントロールの名前を入力します。
サブフォーム/サブレポート フィールド リンカーを使用して、プロパティ シートのプロパティ ボックスの右側にある [ビルド ] ボタンを選択して、これらのプロパティを設定します。
これらのプロパティは、デザイン ビュー、またはフォームやレポートの Open イベントの中で設定します。
これらのプロパティを設定するために使用するフィールドまたはコントロールは、同じ名前を持つ必要はありませんが、同じ種類のデータを含み、同じまたは互換性のあるデータ型とフィールド サイズを持つ必要があります。 たとえば、数値フィールドの FieldSize プロパティが Long Integer に設定されている場合、AutoNumber フィールドは数値フィールドと互換性があります。
LinkMasterFields プロパティを設定するには、コントロールの名前 (計算コントロールの名前を含む) を使用しますが、コントロールの名前を使用して LinkChildFields プロパティを設定することはできません。 サブフォーム、サブレポート、または埋め込みオブジェクトとリンクする目的で計算値を使用する場合は、その子オブジェクトの基になるクエリで演算フィールドを定義し、"LinkChildFields/リンク子フィールド" プロパティにそのフィールドを設定します。
この 2 つのプロパティには、互いに同じ数のフィールド名やコントロール名を指定する必要があります。複数のフィールドやコントロールを指定するときは、フィールド名やコントロール名をセミコロン (;) を使って区切り記号を入力します。
[データベース] ウィンドウから別のフォームまたはレポートにフォームまたはレポートをドラッグするか、フォーム ウィザードを使用してサブフォームまたはサブレポートを作成すると、次の条件に従って LinkChildFields プロパティと LinkMasterFields プロパティが自動的に設定されます。
メイン オブジェクトと子オブジェクトが共にテーブルを基に作成されていて、かつ [リレーションシップ] コマンドによってこれらのテーブルの間にリレーションシップが定義されている場合。 Access では、2 つのテーブルをリンク フィールドとして関連付けするフィールドが使用されます。
メイン フォームまたはメイン レポートの基になるテーブルに主キーが設定されていて、かつ、その主キーと名前が一致し、同一のデータ型または互換性があるデータ型が設定されたフィールドがサブフォームまたはサブレポートの基になるテーブルまたはクエリに含まれている場合。 Access では、メイン オブジェクトの基になるテーブルの主キーと、子オブジェクトの基になるテーブルまたはクエリの同じ名前のフィールドがリンク フィールドとして使用されます。
注:
リンクに使用するフィールドは、メイン オブジェクトや子オブジェクトに含まれるフィールドでなくてもかまいません。 それらのオブジェクトの基になるテーブルやクエリに含まれているフィールドであれば、リンク フィールドとして使用することができます。 ウィザードを使用すると、リンクフィールドが自動的に含まれます。
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。