4D View v14PV FIELDS LIST TO CELLS |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D View v14
PV FIELDS LIST TO CELLS
|
PV FIELDS LIST TO CELLS ( area ; direction ; columns ; rows ; conversions ; master ; tables ; fields ) | ||||||||
引数 | 型 | 説明 | ||||||
area | 倍長整数 |
![]() |
4D View エリア | |||||
direction | 整数 |
![]() |
0= 行; 1= 列 | |||||
columns | 倍長整数配列 |
![]() |
開始セルの列番号の配列 | |||||
rows | 倍長整数配列 |
![]() |
開始セルの行番号の配列 | |||||
conversions | 倍長整数配列 |
![]() |
0= 元のタイプ; 1= テキストに変換 | |||||
master | 倍長整数 |
![]() |
マスターテーブル番号 | |||||
tables | 倍長整数配列 |
![]() |
テーブル番号 | |||||
fields | 倍長整数配列 |
![]() |
フィールド番号 | |||||
PV FIELDS LIST TO CELLSコマンドは、PV FIELD TO CELLSコマンドと同じ働きをしますが、複数のフィールドを使用します。
注:このコマンドの引数direction の使い方は、PV GOTO NEXT CELL コマンドおよびPV GET NEXT FREE CELL コマンドとは異なります。これら2 つのコマンドでは、direction としていずれの方向でも指定できますが、PV FIELDS LIST TO CELLS コマンドではdirection として、右方向(0= 行)または下方向(1= 列)のいずれかのみを指定します。
引数columns およびrows には、開始セルの列番号と行番号をそれぞれ指定します。
5 番目の引数conversionを使用すると、セル内容をテキストタイプに変換することができます。ただし、元の値のタイプは、この処理に対応するタイプでなければいけません。BLOB やピクチャタイプをテキストに変えるような指定を行うと、変換は行われません。
配列であるtables とfields には、テーブル番号および元になるフィールドの番号を納めます。
このコマンドは、リレートを用いて、リレートテーブルやマスターテーブルに対し適用することができます。このリレートは、master テーブルから表示フィールドの属するテーブルへの自動リレートでなければなりません。表示するテーブルとフィールドは配列tables とfields で定義します。
PV ADD DYNAMIC FIELDSコマンドは、データベースとの動的なリレートを維持しますが、このコマンドとは異なり、PV FIELDS LIST TO CELLSコマンドを使用して回復を行った後に4D View エリアで値が変更されても、レコードの内容には反映されません。
ここでもPV CELLS TO ARRAYコマンドの例題を使用して、顧客テーブルのレコードをロードする入力フォームについて見てみましょう。今回は、3 つのフィールドを同時に処理します。
マスターとなる「連絡先」テーブルから「業務上肩書き」テーブル(社長、秘書、開発者)への自動リレートを使用して、「業務上肩書き」テーブルの特別なフィールドに整数として保存されている肩書きコード(リレートの開始点となるフィールド)を元に、各連絡先に対する肩書きのラベルの回復を行うことができます。さらに、関連する3 つ目の列を表示します(列C より開始するため、列Eに表示する)。
C_INTEGER($Master) `マスターテーブル番号
C_INTEGER($Index) `ループインデックス
$Master:=Table(->[Contacts]) `マスターテーブル番号:連絡先(全列用)
ARRAY LONGINT($ArrayColumns;3) `開始セルの列番号
ARRAY LONGINT($ArrayRows;3) `開始セルの行番号
ARRAY INTEGER($ConversionArray;3) `0 :元のタイプ、または1:テキストへ変換
ARRAY INTEGER($TablesArray;3) `テーブル番号
ARRAY INTEGER($FieldsArray;3) `フィールド番号
For($Index;1;3)
$ArrayColumns{$Index}:=$Index+2 `列CからE
$ArrayRows{$Index}:=2 `2 行目より開始
$ConversionArray{$Index}:=0 `元のフィールドタイプを維持
End for
`取得するテーブルとフィールド
$TablesArray{1}:=Table(->[Contacts]) `連絡先テーブルの番号
$FieldsArray{1}:=Field(->[Contacts]ContactName) `名字フィールドの番号
$TablesArray{2}:=Table(->[Contacts]) `連絡先テーブルの番号
$FieldsArray{2}:=Field(->[Contacts]ContactFirstName) `名前フィールドの番号
$TablesArray{3}:=Table(->[Titles]) `肩書きタイプテーブル(リレート先)の番号
$FieldsArray{3}:=Field(->[Titles]Label) `肩書きフィールドの番号(社長、秘書、開発者)
`対応する「連絡先」のセレクションを取得
RELATE MANY([Clients]code)
`4D View エリア上の名字、名前、肩書きフィールドを更新
PV FIELDS LIST TO CELLS(Area;1;$ArrayColumns;$ArrayRows;$ConversionArray;$Master;$TablesArray;$FieldsArray)
プロダクト: 4D View
テーマ: PVセルの値
番号:
15907
初出: 4D View 6.8
PV ADD DYNAMIC FIELDS
PV ARRAY TO CELLS
PV FIELD TO CELLS
4D View ( 4D View v11.4)
4D View ( 4D View v12)
4D View ( 4D v13)
4D View ( 4D View v14 R2)
4D View ( 4D View v14)
4D View ( 4D View v14 R3)
4D View ( 4D View v14 R4)