ActiveX Controls Guide (v11)

Join (ActiveX プロパティ)

適用対象

VAccess

説明

コントロールで使用可能なレコードを制限し、別の VAccess コントロールのフィールド値を基準とする、関連テーブルのリレーショナルな位置を維持します。

IndexNumber プロパティまたは TableName プロパティを変更すると、現在の結合が消去されます。

構文

object.Join = "VAccessName:joinedField[, joinedField]" 

Join プロパティの構文は次のような要素で構成されます。

要素
説明
object
結合対象の VAccess コントロール名です。このコントロールが使用できるレコードは、コントロールと関連付けられているファイルの全レコードのサブセットで、これはコントロールの Join プロパティの条件によって制限されます。
VAccessName
マスター コントロールのデータ ソースとして働く、object をリンクする VAccess コントロールの名前です。
joinedField
VAccessName によって参照されるコントロールのフィールドの名前です。複数のフィールドを指定する場合は、名前をカンマで区切ります。名前を挙げた各フィールドの格納型と長さは、IndexNumber プロパティに指定されている、object に対して選択されたインデックスの対応するインデックス セグメントと同一である必要があります。

備考

Join プロパティを使用して、1 対 1 あるいは 1 対多関係にある関連データ ファイルを自動的に同期させることができます。

VAccess コントロールは、1 つのファイルの現在のインデックスから別のファイル内のフィールドへ、インデックス セグメントを参照することによって、階層的に結合することができます。Join プロパティはこれを迅速に達成し、結合したファイルのレコード ナビゲーションの最中に関係を自動的に更新していきます。

VAccess コントロールを別の VAccess コントロールに結合するには、どのインデックスを使用するかを IndexNumber プロパティに指定してから、Join プロパティにマスター VAccess コントロールの名前を指定し、次にコロン、その後に結合したコントロールの選択されたインデックスの値と正確に一致するマスター コントロールのフィールド名を入力するだけです。

4 つのテーブルがあるとします。

  1. Customers という名前のテーブルには、CustomerName、Adress、Phone、CompanyCode などの顧客に関する情報が含まれており、CompanyCode によってインデックスが付けられています。
  2. Orders という名前のテーブルには、CompanyCode、OrderNumber、OrderDate、TotalAmount、ShippingDate などの注文ヘッダー情報フィールドが含まれており、CompanyCode と OrderNumber によってインデックスが付けられています。
  3. OrderLineItems という名前のテーブルには、OrderNumber、LineNumber、Quantity、ProductCode などの注文項目情報フィールドが含まれており、OrderNumber と LineNumber によってインデックスが付けられています。
  4. Products という名前のテーブルには、ProductCode、Description、Price が含まれており、ProductCode によってインデックスが付けられています。

CompanyCode から始まる注文(Order)のスナップショットを取得するには、CompanyCode で Orders を Customers に結合し、OrderNumber で OrderLineItems を Orders に結合し、ProductCode で OrderLineItems を Products に結合します(図 7 を参照してください)。CompanyCode(会社コード)によって Customer(顧客)を取得すると、その顧客のすべての注文(Oders)、選択された各注文のすべての明細(OrderLineItems)、および選択された明細の正しい製品情報(Products)がフェッチされます。別の注文あるいは別の明細を選択すると、以降のすべての結合コントロールのデータ セットが再度同期化されます。

図 7 結合テーブル例

関連項目

影響元:TableName、IndexNumber


IntegralHeight (ActiveX プロパティ)

KeyNumber (ActiveX プロパティ)