Remove orders from the order list in a work area and close associated index files.
XSharp.RT (in XSharp.RT.dll) Version: 2.2a
Syntax View Source
uOrder AS USUAL,
cIndexFile AS USUAL
) AS LOGIC
public static bool DbClearIndex(
[DefaultParameterValueAttribute(0, 1)] Usual uOrder,
[DefaultParameterValueAttribute(0, 1)] Usual cIndexFile
- Type: Usual
The name of the order to clear or a number representing its position in the order list. Using the order name is the preferred method since the position may be difficult to determine using multiple-order index files. If not specified, all orders in the specified index file (or the entire work area, if no index file is specified) are cleared. Invalid values are ignored.
- Type: Usual
The name of an index file, including an optional drive and directory (no extension should be specified). Use this argument with <uOrder> to remove ambiguity when there are two or more orders with the same name in different index files. Use it alone to close only those orders associated with the specified file.
If <cIndexFile> is not open by the current process, a runtime error is raised.
TRUE if successful; otherwise FALSE.
All pending updates are written to disk prior to closing the index files. Once the files are closed and the order list cleared, the database file returns to its natural order.
By default, this function operates on the currently selected work area. It can be made to operate on an unselected work area by specifying it within an aliased expression
The following example closes index files if any are open:
DBUseArea(TRUE, "DBFNTX", "sales", "Sales", ;
// Are there any open index files?
IF Sales->DBOrderInfo(DBOI_NUMBER) > 0
Sales->DBClearIndex() // Close index files
// Copy to SDF in natural order
COPY TO temp SDF