# DBSEEK()

Searches for a value based on an active index.

Syntax

  DBSEEK(<expKey>, [<lSoftSeek>],[<lFindLast>]) --> lFound

Arguments

  <expKey> Any expression
  <lSoftSeek> Toggle SOFTSEEK condition
  <lFindLast> is an optional logical value that set the current record position to the last record if successful

Returns

  DBSEEK() returns logical true (.T.) if found, otherwise false

Description

  This function searches for the first record in a database file whose index key matches <expKey>. If the item is found, the function will return a logical true (.T.), the value of FOUND() wilI be a logical true (.T.), and the value of EOF() wilI be a logical false (.F.). If no item is found. then the function will return a logical false, the value of FOUND( ) will be a logical false (.F.), and the value of EOF( ) will be a logical true (.T.).
  This function always "rewinds" the database pointer and starts the search from the top of the file.
  If the SOFTSEEK flag is on or if <lSoftSeek> is set to a logical true (.T.) the value of FOUND() wilI be a logical false and EOF() will be false if there is an item in the index key with a greater value than the key expression <expKey>; at this point the record pointer will position itself on that record. However, if there is no greater key in the index,EOF() will return a logical true (.T.) value. If <lSoftSeek> is not passed, the function will look to the internal status of SOFTSEEK before performing the operation. The default of <lSoftSeek> is a logical false (.F.)

Examples

          FUNCTION Main()
          USE Tests New INDEX Tests
          DBGOTO(10)
          nId:=Tests->nId
          IF Tests->(DBSEEK(nId))
            IF RLOCK()
               ? Tests->Name
               DBRUNLOCK()
            ENDIF
          ENDIF
          USE
          RETURN NIL

          ACCEPT "Employee name: " TO cName
          IF ( Employee->(DBSEEK(cName)) )
             Employee->(ViewRecord())
          ELSE
             ? "Not found"
          END

Status

  Started

Compliance

  DBSEEK() is Compatible with CA-Clipper 5.3

Files

  Library is rdd

See Also

- DBGOBOTTOM()
- DBGOTOP()
- DBSKIP()
- EOF()
- BOF()
- FOUND()