SET FIELD RELATION
SET FIELD RELATION ( manyTable | manyField ; one ; many )
引数 | 型 | 説明 | |
---|---|---|---|
manyTable | manyField | テーブル, フィールド | → | リレーションの開始テーブル, または リレーションの開始フィールド |
one | Integer | → | テーブルまたはフィールドを開始点とする n対1リレーションの状態 |
many | Integer | → | テーブルまたはフィールドを開始点とする 1対nリレーションの状態 |
説明
SET FIELD RELATION コマンドを使用すると、デザインモードのリレートプロパティウィンドウで設定した初期状態が何であれ、データベースの各リレートの自動/マニュアルの状態を個別に設定できます。
1番目の引数には、テーブルやフィールドの名前を渡します:
- フィールド名 (manyField) を渡すと、コマンドは指定したnフィールドから開始するリレートに対してのみ適用されます。
- テーブル名 (manyTable) を渡すと、コマンドは指定したnテーブルから開始するリレートに対してのみ適用されます。
- manyFieldまたはmanyTableから開始するリレートが存在しない場合、シンタックスエラー16(“このフィールドにはリレートが設定されていません。”)が生成され、システム変数OKには0が代入されます。
引数oneとmanyには、指定した1対nリレートやn対1リレートに適用される自動/マニュアルの状態を示す値を渡します。この値として、"Relations"テーマの定数を使用できます。
定数 | 型 | 値 | コメント |
---|---|---|---|
Automatic | 倍長整数 | 3 | カレントプロセスに対し、リレートを自動に設定する。 |
Do not modify | 倍長整数 | 0 | リレートの現在のステータスを変更しない。 |
Manual | 倍長整数 | 2 | カレントプロセスに対し、リレートをマニュアルに設定する。 |
Structure configuration | 倍長整数 | 1 | アプリケーションのストラクチャウインドウで指定されたリレートの設定を使用する。 |
Note: このコマンドを使用して行った変更は、カレントプロセスに対してのみ適用されます。リレートプロパティウィンドウのオプションを用いて指定されたリレート設定は変更されません。
Note: SET AUTOMATIC RELATIONSコマンドに対してTrue を同じセッション中に渡したとき、SET FIELD RELATIONへの呼び出しは、それがSET AUTOMATIC RELATIONSの前にあろうと後ろにあろうと無視されます。自動モードをロックしてSET FIELD RELATIONへの呼び出しを有効化するためには、SET AUTOMATIC RELATIONSにFalse を渡します。
例題
以下のコードを実行すると、クイックレポートエディター内において、有用なリレートだけを自動に設定できるようになります:
SET AUTOMATIC RELATIONS(False;False) // リレーションのリセット
//以下のリレーションのみが使用されます
SET FIELD RELATION([Invoices]Cust_IDt;Automatic;Automatic)
SET FIELD RELATION([Invoice_Row]Invoice_ID;Automatic;Automatic)
QR REPORT([Invoices];Char(1))
参照
GET AUTOMATIC RELATIONS
GET FIELD RELATION
GET RELATION PROPERTIES
SET AUTOMATIC RELATIONS
プロパティ
コマンド番号 | 919 |
スレッドセーフである | ✓ |
システム変数を更新する | OK |