__DBCONTINUE()
Resume a pending LOCATE
- Syntax
-
- __DbCONTINUE() -> NIL
- Returns
-
- __DbCONTINUE() Always return nil
- Description
-
- __DBCONTINUE is a database command that searches from the current record position for the next record meeting the most recent LOCATE condition executed in the current work area. It terminates when a match is found or end of file is encountered. If __DBCONTINUE is successful, the matching record becomes the current record and FOUND() returns true (.T.); if unsuccessful, FOUND() returns false (.F.).
- Each work area may have an active LOCATE condition. In CA-Clipper, a LOCATE condition remains pending until a new LOCATE condition is specified. No other commands release the condition.
- Notes
- Scope and WHILE condition: Note that the scope and WHILE condition of the initial LOCATE are ignored; only the FOR condition is used with CONTINUE. If you are using a LOCATE with a WHILE condition and want to continue the search for a matching record, use SKIP and then repeat the original LOCATE statement adding REST as the scope.
Examples
This example scans records in Sales.dbf for a particular
salesman and displays a running total sales amounts:
LOCAL nRunTotal := 0
USE Sales NEW
LOCATE FOR Sales->Salesman = "1002"
DO WHILE FOUND()
? Sales->Salesname, nRunTotal += Sales->Amount
__DBCONTINUE()
ENDDO
This example demonstrates how to continue if the pending
LOCATE scope contains a WHILE condition:
LOCAL nRunTotal := 0
USE Sales INDEX Salesman NEW
SEEK "1002"
LOCATE REST WHILE Sales->Salesman = "1002";
FOR Sales->Amount > 5000
DO WHILE FOUND()
? Sales->Salesname, nRunTotal += Sales->Amount
SKIP
LOCATE REST WHILE Sales->Salesman = "1002";
FOR Sales->Amount > 5000
ENDDO
- Status
- Ready
- Compliance
-
- This function is CA-Clipper compliant.
- Files
-
- Library is rdd
- See Also