メインコンテンツまでスキップ
バージョン: 20 R7 BETA

SCAN INDEX

SCAN INDEX ( aField ; number {; > または <} )

引数説明
aFieldFieldインデックスをスキャンするインデックスフィールド
numberInteger返すレコード数
> または <演算子>: インデックスの始まりから <: インデックスの終わりから

説明

SCAN INDEXは、aField フィールドを含むテーブルからnumber個のレコードのセレクションを作成します。<を渡した場合、SCAN INDEXはインデックスの最後からnumber個のセレクション作成します。>を渡した場合、SCAN INDEXはインデックスの先頭からnumber個のセレクションを作成します。このコマンドは、インデックスを用いるため非常に効率が良くなります。

Note: 結果のセレクションは、ソートされていません。

SCAN INDEXは、インデックスフィールドにのみ使用できます。このコマンドはカレントプロセスのテーブルのカレントセレクションを変更し、セレクションの先頭レコードをカレントレコードとしてロードします。

テーブル内のレコード数より多くのレコードを指定した場合、SCAN INDEXはすべてのレコードを含むセレクションを作成します。

注: このコマンドはオブジェクト型フィールドをサポートしません。

例題

以下の例は、ワースト50の顧客とベスト50の顧客に手紙を出します:

 SCAN INDEX([Customers]TotalDue;50;<) // ワースト50の顧客を得る
 ORDER BY([Customers]Zipcode;>) // 郵便番号で並び替え
 FORM SET OUTPUT([Customers];"ThreateningMail")
 PRINT SELECTION([Customers]) // 手紙を印刷
 SCAN INDEX([Customers]TotalDue;50;>) // ベスト50の顧客を得る
 ORDER BY([Customers]Zipcode;>) // 郵便番号で並び替え
 FORM SET OUTPUT([Customers];"Thanks Letter")
 PRINT SELECTION([Customers]) // 手紙を印刷

参照

ORDER BY
QUERY
REDUCE SELECTION

プロパティ

コマンド番号350
スレッドセーフである
カレントレコードを変更する
カレントセレクションを変更する