[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 FOUND()
 Determine if the previous search operation succeeded
------------------------------------------------------------------------------
 Syntax

     FOUND() --> lSuccess

 Returns

     FOUND() returns true (.T.) if the last search command was successful;
     otherwise, it returns false (.F.).

 Description

     FOUND() is a database function that determines whether a search
     operation (i.e., FIND, LOCATE, CONTINUE, SEEK, or SET RELATION)
     succeeded.  When any of these commands are executed, FOUND() is set to
     true (.T.) if there is a match; otherwise, it is set to false (.F.).

     If the search command is LOCATE or CONTINUE, a match is the next record
     meeting the scope and condition.  If the search command is FIND, SEEK or
     SET RELATION, a match is the first key in the controlling index that
     equals the search argument.  If the key value equals the search
     argument, FOUND() is true (.T.); otherwise, it is false (.F.).

     The value of FOUND() is retained until another record movement command
     is executed.  Unless the command is another search command, FOUND() is
     automatically set to false (.F.).

     Each work area has a FOUND() value.  This means that if one work area
     has a RELATION set to a child work area, querying FOUND() in the child
     returns true (.T.) if there is a match.

     By default, FOUND() 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 (see example below).

     FOUND() will return false (.F.) if there is no database open in the
     current work area.

 Examples

     .  This example illustrates the behavior of FOUND() after a
        record movement command:

        USE Sales INDEX Sales
        ? INDEXKEY(0)              // Result: SALESMAN
        SEEK "1000"
        ? FOUND()                  // Result: .F.
        SEEK "100"
        ? FOUND()                  // Result: .T.
        SKIP
        ? FOUND()                  // Result: .F.

     .  This example tests a FOUND() value in an unselected work area
        using an aliased expression:

        USE Sales INDEX Sales NEW
        USE Customer INDEX Customer NEW
        SET RELATION TO CustNum INTO Sales
        //
        SEEK "Smith"
        ? FOUND(), Sales->(FOUND())

     .  This code fragment processes all Customer records with the key
        value "Smith" using FOUND() to determine when the key value changes:

        USE Customer INDEX Customer NEW
        SEEK "Smith"
        DO WHILE FOUND()
           .

           . <statements>
           .
           SKIP
           LOCATE REST WHILE Name == "Smith"
        ENDDO

 Files   Library is CLIPPER.LIB.


See Also: CONTINUE EOF() LOCATE SEEK SET RELATION
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson