4D View v16PV FIELD TO CELLS |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D View v16
PV FIELD TO CELLS
|
PV FIELD TO CELLS ( area ; direction ; column ; row ; conversion ; master ; numTable ; numField ) | ||||||||
引数 | 型 | 説明 | ||||||
area | 倍長整数 |
![]() |
4D View エリア | |||||
direction | 整数 |
![]() |
0= 行; 1= 列 | |||||
column | 倍長整数 |
![]() |
開始セルの列番号 | |||||
row | 倍長整数 |
![]() |
開始セルの行番号 | |||||
conversion | 整数 |
![]() |
0= 元のタイプ; 1= テキストに変換 | |||||
master | 整数 |
![]() |
マスターテーブル番号 | |||||
numTable | 整数 |
![]() |
テーブル番号 | |||||
numField | 整数 |
![]() |
フィールド番号 | |||||
PV FIELD TO CELLSコマンドは、master テーブルのカレントセレクションに対応しているフィールドの値をarea に挿入します。挿入は、column とrowで指定された座標(セル)からdirectionで定義した方向へ行われます。
注:このコマンドの引数direction の使い方は、PV GOTO NEXT CELL コマンドおよびPV GET NEXT FREE CELL コマンドとは異なります。これら2 つのコマンドでは、direction としていずれの方向でも指定できますが、PV FIELD TO CELLS コマンドではdirection として、右方向(0= 行)または下方向(1= 列)のいずれかのみを指定します。
5 番目の引数conversionを使用すると、セル内容をテキストタイプに変換することができます。ただし、元の値のタイプは、この処理に対応するタイプでなければいけません。BLOB やピクチャデータタイプをテキストに変えるような指定を行うと、変換は行われません。
このコマンドは、リレートを用いて、マスターテーブルにリンクしているテーブルに対して適用することができます。このリレートは、master で定義したテーブルから table で指定したテーブルへの自動リレート(タイプ)でなければなりません。表示するfield は table に属しています。請求書と請求明細に関する従来の例題では、明細テーブルからフィールド内容を回復することができますが、請求書テーブル明細(マスターテーブル)のセレクションにリレートしている請求書テーブルからも、これを回復することができます。
PV SET CELL FIELDコマンドは、データベースとの動的なリレートを維持しますが、このコマンドとは異なり、PV FIELD TO CELLSコマンドを使用して回復を行った後に4D View エリアで値が変更されても、レコードの内容には反映されません。
PV CELLS TO ARRAYコマンドの例題において、顧客の入力フォームに組み込まれた4D View エリア内で連絡先データが入力されると、連絡先テーブルの更新を行いました。ここではOn Loadフォームイベント、つまり修正される入力フォームのロード時に、この組み込みエリアの更新を行います。
マスターとなる「連絡先」テーブルから「業務上肩書き」テーブル(社長、秘書、開発者)への自動リレートを使用して、各連絡先に対する業務上肩書きのラベルの回復を行うことができます。「業務上肩書き」テーブルの特別なフィールドに整数として保存されている肩書きコード(リレートの開始点となるフィールド)を元にしてこの処理を行います。2つの列に連絡先名とその肩書きを表示します。
C_LONGINT($Master) //マスターテーブル番号
C_LONGINT($Table) //テーブル番号
C_LONGINT($Field) //フィールド番号
C_LONGINT($Column;$Row) `開始セルの座標
$Master:=Table(->[Contacts]) //マスターテーブル番号:連絡先(2つの列用)
RELATE MANY([Clients]code) //セレクションから対応する連絡先を取得
PV GET CURRENT CELL(Area;$Column;$Row)
//4D View エリア上の名前を更新
$Table:=Table(->[Contacts]) //連絡先テーブルのテーブル番号
$Field:=Field(->[Contacts]ContactName) //内容を取得するフィールド番号
//変換は不要、文字タイプの回復を行う
PV FIELD TO CELLS(Area;1;$Column;$Row;0;$Master;$Table;$Field)
//4D View エリアの肩書きを更新
$Table:=Table(->[Titles]) //肩書きタイプ(リレート先)テーブルの番号
$Field:=Field(->[Titles]Label) //内容を回復するフィールドの番号
PV FIELD TO CELLS(Area;1;$Column+1;$Row;0;$Master;$Table;$Field)
プロダクト: 4D View
テーマ: PVセルの値
番号:
15908
初出: 4D View 6.8
4D View ( 4D View v16)