GET FIELD RELATION

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 2004


GET FIELD RELATION (manyField; one; many{; *})

引数説明
manyFieldフィールドリレート開始フィールド
one倍長整数n対1リレートの状態
many倍長整数1対nリレートの状態
**指定時: oneとmanyにはリレーション
の現在の状態が返る (値は2または3のみ)
省略時 (デフォルト): プログラムでリレーションが
変更されていなければ、oneとmanyに1が返される

説明

GET FIELD RELATIONを使用すると、カレントプロセスの、manyFieldから開始するリレートの自動/マニュアルのステータスを調べることができます。ストラクチャウィンドウで設定した自動リレートをはじめとして、あらゆるリレートを調べることができます。

manyFieldには、状態を調べようとするリレートが開始するnテーブルのフィールド名を渡します。フィールドmanyFieldから開始するリレートが存在しない場合、引数onemanyには0が返されます。またエラーが返されて、システム変数OKには0が代入されます (後述)。

・コマンドの実行後、引数oneには、指定したn対1リレートが自動に設定されているかどうかを示す値が格納されます:

0 = manyFieldから始まるリレートが存在しません。シンタックスエラー16 (“このフィールドにはリレートが設定されていません。”) が生成され、システム変数OKには0が代入されます。
1 = 指定されたn対1リレートの自動/マニュアルのステータスは、マニュアルのステータスは (プログラムにより変更されていない)。
2 = そのプロセスのn対1のリレートはマニュアルです。
3 = そのプロセスのn対1のリレートは自動です。

・コマンドの実行後、引数manyには、指定した1対nリレートが自動に設定されているかどうかを示す値が格納されます:

0 = manyFieldから始まるリレートが存在しません。シンタックスエラー16 (“このフィールドにはリレートが設定されていません。”) が生成され、システム変数OKには0が代入されます。
1 = 指定された1対nリレートの自動/マニュアルのステータスは、マニュアルのステータスは (プログラムにより変更されていない)。
2 = そのプロセスの1対nのリレートはマニュアルです。
3 = そのプロセスの1対nのリレートは自動です。

oneおよびmany引数に返された値は、“Relations” テーマの定数と比較することができます:

定数
No relation倍長整数0
Structure configuration倍長整数1
Manual倍長整数2
Automatic倍長整数3

・オプションの引数 * を使用すると、プログラムから修正されていない場合でも、リレートのカレントステータスを“強制的に”読み込むことができます。言い換えれば引数 * を渡した場合、引数oneおよびmanyには値2または3だけが返されます。

例題

以下のようなストラクチャがあります:

[Employees]Companyフィールドから[Companies]Nameフィールドへリンクするリレートのプロパティは次の通りです:

次のコードはGET FIELD RELATIONGET AUTOMATIC RELATIONSSET FIELD RELATION、およびSET AUTOMATIC RELATIONSにより提供されるさまざまな機能とともに、その効果を示します:

   GET AUTOMATIC RELATIONS(one;many)  `False, Falseを返す
   GET FIELD RELATION([Employees]Company;one;many)  `1,1を返す
   GET FIELD RELATION([Employees]Company;one;many;*)  `3,2を返す

   SET FIELD RELATION ([Employees]Company;2;0)  `n対1リレーションをマニュアルに変更

   GET FIELD RELATION([Employees]Company;one;many) `2,1を返す
   GET FIELD RELATION([Employees]Company;one;many;*) `2, 2を返す

   SET FIELD RELATION ([Employees]Company;1;0)  `デザインモードで設定された
                              `n対1リレーションに戻す

   GET FIELD RELATION([Employees]Company;one;many)  `1,1を返す
   GET FIELD RELATION([Employees]Company;one;many;*)  `3,2を返す

   SET AUTOMATIC RELATIONS(True;True) `すべのーブルのすべのリレーションを自動に設定

   GET AUTOMATIC RELATIONS(one;many) `True, Trueを返す
   GET FIELD RELATION([Employees]Company;one;many)  `1,1を返す
   GET FIELD RELATION([Employees]Company;one;many;*)  `3,3を返す

参照

GET AUTOMATIC RELATIONS, GET RELATION PROPERTIES, SET AUTOMATIC RELATIONS, SET FIELD RELATION.


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次