[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 SET SOFTSEEK
 Toggle relative seeking
------------------------------------------------------------------------------
 Syntax

     SET SOFTSEEK on | OFF | <xlToggle>

 Arguments

     ON causes the record pointer to be moved to the next record with a
     higher key after a failed index search.

     OFF causes the record pointer to be moved to EOF() after a failed
     index search.

     <xlToggle> is a logical expression that must be enclosed in
     parentheses.  A value of true (.T.) is the same as ON, and a value of
     false (.F.) is the same as OFF.

 Description

     SET SOFTSEEK enables relative seeking, a method of searching an index
     and returning a record even if there is no match for a specified key.

     When SOFTSEEK is ON and a match for a SEEK is not found, the record
     pointer is set to the next record in the index with a higher key value
     than the SEEK argument.  Records are not visible because SET FILTER
     and/or SET DELETED are skipped when searching for the next higher key
     value.  If there is no record with a higher key value, the record
     pointer is positioned at LASTREC() + 1, EOF() returns true (.T.), and
     FOUND() returns false (.F.).  FOUND() returns true (.T.) only if the
     record is actually found.  It never returns true (.T.) for a relative
     find.

     When SOFTSEEK is OFF and a SEEK is unsuccessful, the record pointer is
     positioned at LASTREC() + 1, EOF() returns true (.T.), and FOUND()
     returns false (.F.).

 Notes

     .  SET RELATION: SET RELATION ignores SOFTSEEK updating the
        record pointer in all linked child work areas as if SOFTSEEK is OFF.

 Examples

     .  This example illustrates the possible results of a SEEK with
        SET SOFTSEEK ON:

        SET SOFTSEEK ON
        USE Salesman INDEX Salesman NEW
        ACCEPT "Enter Salesman: " TO cSearch
        SEEK cSearch
        DO CASE
        CASE FIELD->Salesman = cSearch
           ? "Match found:", FOUND(), EOF(), FIELD->Salesman
        CASE !EOF()
           ? "Soft match found:", FOUND(), EOF(), ;
                    FIELD->Salesman
        OTHERWISE
           ? "No key matches:", FOUND(), EOF(), FIELD->Salesman
        ENDCASE

 Files   Library is CLIPPER.LIB.


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