 |
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 つのテーブルがあるとします。
- Customers という名前のテーブルには、CustomerName、Adress、Phone、CompanyCode などの顧客に関する情報が含まれており、CompanyCode によってインデックスが付けられています。
- Orders という名前のテーブルには、CompanyCode、OrderNumber、OrderDate、TotalAmount、ShippingDate などの注文ヘッダー情報フィールドが含まれており、CompanyCode と OrderNumber によってインデックスが付けられています。
- OrderLineItems という名前のテーブルには、OrderNumber、LineNumber、Quantity、ProductCode などの注文項目情報フィールドが含まれており、OrderNumber と LineNumber によってインデックスが付けられています。
- 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 プロパティ) |
|