C5_SET SOFTSEEK

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



2 responses to “C5_SET SOFTSEEK

  1. Pingback: DB Commands | Viva Clipper !

  2. Pingback: C5 Commands | Viva Clipper !

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.