4D v12.4

SELECTION TO ARRAY

ホーム

 
4D v12.4
SELECTION TO ARRAY

 

SELECTION TO ARRAY 


 

SELECTION TO ARRAY ( field | table ; array {; aField ; array} {; aField2 ; array2 ; ... ; aFieldN ; arrayN} ) 
引数   説明
field | table  フィールド, テーブル in データを取得するフィールドまたは レコード番号を取得するテーブル
array  配列 in フィールド値またはレコード番号を取得する配列
aField  フィールド in 配列に値を取得するフィールド
array  配列 in フィールドデータを受け取る配列

説明   

SELECTION TO ARRAY コマンドは、1つ以上の配列を作成し、カレントセレクションのフィールドデータやレコード番号を配列にコピーします。

SELECTION TO ARRAYコマンドは第一引数 (テーブル参照またはフィールド参照) で指定されたテーブルのセレクションに適用されます。SELECTION TO ARRAYは以下のことを行います:

  • 1つまたは複数のフィールドから値をロードします。
  • [table];arrayシンタックスを使用してテーブルからレコード番号をロードします。
  • テーブル間にn対1の自動リレートが設定されている場合や、SET AUTOMATIC RELATIONSを事前に呼び出してn対1のマニュアルリレートを自動に変更した場合は、リレートフィールドの値をロードします。いずれの場合も、複数レベルのn対1リレートを経てテーブルから値がロードされます。

各配列は、そのフィールドタイプに応じてタイプ定義されます。ただし次の2つの例外があります:

  • ASCII互換 (非Unicode) モードのとき、テキストフィールドを文字列配列にコピーした場合、その配列は文字列配列のままになります。
  • 時間フィールドは倍長整数配列にコピーされます。

レコード番号をロードする場合、配列のタイプは倍長整数となります。

4D Server: SELECTION TO ARRAYコマンドは4D Server用に最適化されています。各配列はサーバ上で作成され、配列全体がクライアントマシンに送信されます。

警告: SELECTION TO ARRAYコマンドは、カレントセレクションの大きさやロードするデータサイズによって非常に大きな配列を作成する場合があります。配列はメモリ上に存在します。そのためコマンドの実行後、結果をテストするのは良いことです。これを行うには、作成された配列のサイズをテストするか、ON ERR CALLプロジェクトメソッドを使用してコマンドの呼び出しをカバーします。

Note: SELECTION TO ARRAYコマンドを呼び出した後、カレントセレクションとカレントレコードは同じままですが、カレントレコードはロードされていません。もしカレントレコードのフィールド値を使いたい場合は、SELECTION TO ARRAYコマンドの後にLOAD RECORDコマンドを使用してください。

以下の例は、[People]テーブルと[Company]テーブルは自動リレーションを持ちます。2つの配列asLastNameasCompanyAddrは、[People] テーブルのセレクションの数にリサイズされ、両テーブルからのデータを受け取ります:

 SELECTION TO ARRAY([People]Last Name;asLastName;[Company]Address;asCompanyAddr)

以下の例は、[Clients]レコード番号を配列alRecordNumbersに、[Clients]Names フィールドの値を配列asNames代入します:

 SELECTION TO ARRAY([Clients];alRecordNumbers;[Clients]Names;asNames)

 
プロパティ 

プロダクト: 4D
テーマ: 配列
番号: 260

リモートモードでは動作が異なります。

 
履歴 

初出: < 4D v6

 
参照 

ARRAY TO SELECTION
MULTI SORT ARRAY
ON ERR CALL
SELECTION RANGE TO ARRAY
SET AUTOMATIC RELATIONS