メインコンテンツまでスキップ
バージョン: 開発中

SET FIELD RELATION

SET FIELD RELATION ( manyTable | manyField ; one ; many )

引数説明
manyTable | manyFieldテーブル, フィールド🡒リレーションの開始テーブル, または リレーションの開始フィールド
one倍長整数🡒テーブルまたはフィールドを開始点とする n対1リレーションの状態
many倍長整数🡒テーブルまたはフィールドを開始点とする 1対nリレーションの状態

説明

SET FIELD RELATION コマンドを使用すると、デザインモードのリレートプロパティウィンドウで設定した初期状態が何であれ、データベースの各リレートの自動/マニュアルの状態を個別に設定できます。

1番目の引数には、テーブルやフィールドの名前を渡します:

  • フィールド名 (manyField) を渡すと、コマンドは指定したnフィールドから開始するリレートに対してのみ適用されます。
  • テーブル名 (manyTable) を渡すと、コマンドは指定したnテーブルから開始するリレートに対してのみ適用されます。
  • manyFieldまたはmanyTableから開始するリレートが存在しない場合、シンタックスエラー16(“このフィールドにはリレートが設定されていません。”)が生成され、システム変数OKには0が代入されます。

引数onemanyには、指定した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 RELATIONSFalse を渡します。

例題

以下のコードを実行すると、クイックレポートエディター内において、有用なリレートだけを自動に設定できるようになります:

 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