Verificar a existência de um registro em um arquivo no banco de dados, exibindo um item qualquer em uma determinada coordenada da tela.
CHEXM (<chave>, <exp>, <exp.N1>, <exp.N2>, <item>)
|
<chave> |
representa o nome da chave primária de um arquivo no banco de dados. |
|
<exp> |
representa o valor a pesquisar. Deve ser do mesmo tipo de <chave>. |
|
<exp.N1> |
representa a linha da tela em que será exibido o item. |
|
<exp.N2> |
representa a coluna da tela em que será exibido o item. |
|
<item> |
representa o nome do item que será exibido. |
Retorna verdadeiro (.T.), se o valor de <exp> for encontrado exibindo <item> nas coordenadas especificadas por <exp.N1> e <exp.N2>. Quando não encontra, retorna falso (.F.) e exibe uma quantidade de brancos correspondente ao tamanho do item a ser exibido.
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 e exibir dados do arquivo pesquisado.
O exemplo a seguir mostra-nos como verificar a ocorrência de um registro em um arquivo no banco de dados exibindo um item do registro encontrado.
DATABASE bdemp1 33 a 2
USE tab_func
@ 01,01 SAY"Matrícula do Funcionário " GET id0_func PIC "999";
VALID !CHEXM (id0_func, id0_func, 23, 01, nom_func);
* Só aceitará funcionários não cadastrados
* e exibirá o nome destes na linha 23 coluna 01
MESSAGE "Funcionário já Cadastrado"
READ
?, ??, @ ... GET, @ ... SAY, FIND, CHEX(), CHEXC() e CHEXME().