
Acessar um registro pelo valor da chave para uma leitura seqüencial
START <exp>
<exp> representa uma expressão de tipo igual ao da chave pesquisada.
O comando START posiciona o apontador de registros no registro cujo valor da chave seja igual ao valor de <exp>. Caso não seja encontrado o valor igual, o apontador de registros pára no registro cujo valor seja imediatamente maior que <exp>.
Este comando é muito utilizado na pesquisa de intervalos, pois inicia uma leitura seqüencial a partir de um registro, sem a necessidade de pesquisar todo o arquivo para isso.
O comando START não lê o valor dos campos, somente posiciona o apontador, a leitura é efetuada pelo comando CONTINUE.
O comando START só é utilizado junto com os comandos LOCATE e CONTINUE.
Para selecionar a chave para pesquisa utilizar o comando SET ORDER.
O exemplo a seguir mostra-nos como utilizar o comando START para efetuar uma pesquisa de intervalos, lendo somente os funcionários nascidos entre 1930 e 1960.
USE tab_func
SET ORDER TO ano_func
LOCATE && Inicia a leitura seqüencial
START 1930 && Posiciona o ponteiro
CONTINUE && Efetiva a leitura
DO WHILE FOUND( ) .and. ano_func <= 1960 delimita o intervalo
? nom_func
CONTINUE
ENDDO
