Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

CHEX()

Propósito

Verificar a existência de um registro em um arquivo-entidade.

Sintaxe

CHEX (<chave>,<exp>)

Argumentos

<chave>

representa o nome da chave primária de um arquivo-entidade.

<exp>

representa o valor a pesquisar e deve ser do mesmo tipo de <chave>.

Utilização

Retorna verdadeiro (.T.), se o valor de <exp> for encontrado.

O arquivo pesquisado não precisa estar em uso ou selecionado. Isto só é necessário se existir mais de um item com o mesmo nome da chave pesquisada.

Quando existirem nomes de chaves primárias iguais, a pesquisa é feita pelo primeiro encontrado, se o primeiro nome encontrado não for de chave primária ocorrerá um erro de compilação, para evitar isto selecione o arquivo com a chave desejada.

Útil para validar consistência de dados em tempo de digitação.

Exemplos

O exemplo a seguir mostra-nos como verificar a ocorrência de um registro em um arquivo-entidade durante a digitação de seus dados.

DATABASE bdemp1 33 a 2

@ 01,01 "Matrícula do Funcionário " GET id0_func PIC "999";

  VALID !CHEX (id0_func, id0_func);

* Só aceitará funcionários não cadastrados.

MESSAGE "Funcionário já Cadastrado"

READ

O exemplo a seguir simula a operação feita pela função CHEX ().

DATABASE bdemp1 33 a 2

USE tab_func     && Obriga que o arquivo esteja  em uso.

DO WHILE .T.

  @ 01,01 SAY "Matrícula do Funcionário " GET id0_func; PIC "999"

  READ

  FIND id0_func     && Lê o arquivo pesquisando chave

  IF FOUND ()

    MESSAGE "Funcionário já Cadastrado"

    LOOP     && Retorna ao GET

  ELSE

    EXIT     && Sai do comando DO WHILE

  ENDIF

ENDDO

Consulte

?, ??, @ ... GET, @ ... SAY, FIND, CHEXC(), CHEXM() e CHEXME().

Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!