LOCATE FOR [ehto]

Parametrit

[ehto] on jokin looginen ehtolauseke.

Selitys

LOCATE -käskyllä voidaan etsiä alkaen ensimmäisestä tietueesta käsillä olevasta tiedostosta jokin haluttu tietue, jossa pätee [ehto]. Jos sopiva tietue löytyy funktio FOUND() palauttaa arvokseen .T. ja EOF()=.F., muutoin tulee vastaavasti .F. ja .T..

Esimerkki

Etsitään kirjanp.dbf-tiedostosta ensimmäinen tietue, jossa debit -kenttä=1000

use kirjanp /* tietokanta otetaan käyttöön */

locate for debet=1000 /* Etsitään ensimmäinen tietue, jossa debit -kenttä=1000 */

? found() /* kuvaruutuun tulee .T. jos sopiva tietue löytyi */
use /* tietokanta suljetaan */

Yllä oleva esimerkki on sama kuin:

use kirjanp /* tietokanta otetaan käyttöön */

go top /* mennään ensimmäiseen korttiin */
found(.t.) /* Merkitään sisäinen löytyi -merkintä .f. */
do while !eof() /* silmukka jatkuu kunnes tietokannan loppu tulee vastaan */
   if debet=1000
      found(.t.) /* Merkitään sisäinen löytyi -merkintä .t. */
      exit /* Poistutaan DO WHILE -silmukasta */
   endif
   skip /* Mennään seuraavaan korttiin */
enddo

? found() /* kuvaruutuun tulee .T. jos sopiva tietue löytyi */
use /* tietokanta suljetaan */

Katso myös SEEK, FOUND() .