4D v14.3RELATE MANY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
RELATE MANY
RELATE MANY
RELATE MANYには、2つの形式があります。 第1の形式RELATE MANY(oneTable)は、oneTableに対してすべての1対nのリレートを実行します。このコマンドは、oneTableに対して1対nのリレートを持つ各テーブルのカレントセレクションを更新します。nテーブルのカレントセレクションは、1テーブルのそれぞれのリレート先フィールドの現在値を反映します。このコマンドが実行される度に、nテーブルのカレントセレクションが再構成され、セレクションの最初のレコードがカレントレコードとしてロードされます。 第2の形式RELATE MANY(oneField)は、oneFieldに対して1対nのリレートを実行します。これは、oneFieldと関連を持つテーブルのみに対しカレントセレクションとカレントレコードを変更します。つまり、リレート先テーブルの関連するレコードがnテーブルのカレントセレクションになることを意味します。 Note: RELATE MANYを実行する際に、1テーブルのカレントセレクションが空の場合、このコマンドは何も行いません。 以下の例は、3つのテーブルが自動リレートで関連付けられています。[People]テーブルと[Parts]テーブルは両方とも[Companies]テーブルに対してn対1のリレート関係にあります。
このフォームを表示すると、[People]テーブルと[Parts]テーブルの関連するレコードがロードされ、それぞれのテーブルのカレントセレクションとなります。 他方プログラムで[Companies]テーブルのレコード選択した場合には、リレート先レコードはロードされません。このような場合にはRELATE MANYコマンドを使用する必要があります。 Notes:
以下のメソッドは、[Companies]テーブルの各レコードに対し、警告ウィンドウを表示します。警告ウィンドウには社員数([People]テーブル中の関連するレコードの数)、供給する部品の種類数([Parts]テーブル中の関連するレコードの数)を表示します。この例では、ALERTコマンドの引数が複数行にわたっています。 自動リレートの場合でもRELATE MANYコマンドが必要なことに注目してください。 ALL RECORDS([Companies]) ` Select all records in the テーブル |
プロパティ
プロダクト: 4D
履歴
初出: < 4D v6 参照 ARTICLE USAGE
ランゲージリファレンス ( 4D v12.4) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||