version 3
SCAN INDEX (field; number{; > or <})
| Parameter | Type | Description | |
| field | Field | Indexed field on which to scan index | |
| number | Number | Number of records to return | |
| > or < | > from beginning of index | ||
| < from end of index |
Description
SCAN INDEX returns a selection of number records for table. If you pass <, SCAN INDEX returns the number of records from the end of the index (high values). If you pass >, SCAN INDEX returns the number of records for table from the beginning of the index (low values). This command is very efficient because it uses the index to perform the operation.
SCAN INDEX works only on indexed fields. This command changes the current selection of the table for the current process, but there is no current record.
If you specify more records than exist in the table, SCAN INDEX will return all records.
Example
The following example mails letters to 50 of the worst customers and then to 50 of the best customers:
SCAN INDEX([Customers]TotalDue;50;<) ` Get the 50 worst customers ORDER BY([Customers]Zipcode;>) ` Sort by Zip codes OUTPUT FORM([Customers];"ThreateningMail") PRINT SELECTION([Customers]) ` Print the letters SCAN INDEX([Customers]TotalDue;50;>) ` Get the 50 best customers ORDER BY([Customers]Zipcode;>) ` Sort by Zip codes OUTPUT FORM([Customers];"Thanks Letter") PRINT SELECTION([Customers]) ` Print the letters
See Also
ORDER BY, QUERY, REDUCE SELECTION.