Click or drag to resize

DbClearIndex Function

Remove orders from the order list in a work area and close associated index files.

Namespace:  XSharp.RT
Assembly:  XSharp.RT (in XSharp.RT.dll) Version: 2.10
Syntax
 FUNCTION DbClearIndex(
	 uOrder AS USUAL,
	 cIndexFile AS USUAL
) AS LOGIC
View Source

Parameters

uOrder
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.
cIndexFile
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.

Return Value

Type: Boolean
TRUE if successful; otherwise FALSE.
Remarks
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
Examples
The following example closes index files if any are open:
X#
DBUseArea(TRUE, "DBFNTX", "sales", "Sales", ;
                        TRUE)
Sales->DBSetIndex("FirstName")
Sales->DBSetIndex("LastName")
// Are there any open index files?
IF Sales->DBOrderInfo(DBOI_NUMBER) > 0
        Sales->DBClearIndex()                // Close index files
ENDIF
// Copy to SDF in natural order
COPY TO temp SDF
See Also