SELECTION TO ARRAY

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 3


SELECTION TO ARRAY (field | table; array{; field2 | table2; array2; ...; fieldN | tableN; arrayN})

引数説明
field | tableフィールドまたはテーブルデータを取得するフィールドまたは
レコード番号を取得するテーブル
array配列フィールド値またはレコード番号を取得する配列

説明

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

SELECTION TO ARRAYコマンドは、1番目の引数として指定したテーブルのセレクションに対して適用され、次の事柄を実行します:

・1つまたは複数のフィールドから値をロードします。

・構文...;[テーブル];配列;...を用いてレコード番号をロードします。

・テーブル間にn対1の自動リレートが設定されている場合や、SET AUTOMATIC RELATIONSを事前に呼び出してn対1のマニュアルリレートを自動に変更した場合は、リレートフィールドの値をロードします。いずれの場合も、複数レベルのn対1リレートを経てテーブルから値がロードされます。

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

・ASCII互換モードのとき、テキストフィールドを文字列配列にコピーした場合、その配列は文字列配列のままになります。

時間フィールドは倍長整数配列にコピーされます。

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

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

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

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

例題

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

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

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

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

参照

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


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次