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

FKEY

Propósito

Retornar características de item chave.

Sintaxe

FKEY (<exp.C1>, <exp.C2>[, <vet.C>])

Argumentos

<exp.C1>

Representa o nome do arquivo do banco de dados.

<exp.C2>

Representa o nome de um item.

<vet.C>

Representa um vetor caractere.

Utilização

Retorna um valor numérico correspondente ao tipo do item passado como argumento. Caso seja declarado <vet.C> como argumento, este vetor é preenchido com informações adicionais sobre a chave <exp.C2>.

O valor retornado corresponde a soma, ou a um, dos valores descritos a seguir:

1 - Para chave primária,

2 - Para chave estrangeira,

3 - Para chave de busca,

10 - Para chave virtual,

100 - Para chave única,

1000 - Para chave nula,

10000 - Exclui em cascata,

20000 - Valor nulo em cascata na exclusão,

100000 - Altera em cascata,

200000 - Valor nulo em cascata na alteração.

O vetor <vet.C> é preenchido com informações adicionais. No caso de chave estrangeira, somente o primeiro elemento do vetor é utilizado, sendo preenchido com o nome do arquivo entidade associado a chave.

No caso de chave virtual, os elementos do vetor serão preenchidos com o nome dos itens que compõem a chave virtual. No caso de chave virtual estrangeira, o primeiro elemento é preenchido com o nome da entidade associada e os demais são preenchidos com o nome dos itens que compõem a chave virtual.

Esta função retorna -1 (menos um) quando:

<exp.C1> não for arquivo do banco de dados,

<exp.C2> não for chave no arquivo <exp.C1> ou qualquer outra incoerência.

Caso FKEY retorne -1, o vetor <vet.C> retornará com seus elementos preenchidos de brancos.

Exemplo

O exemplo a seguir mostra como utilizar esta função.

PROG

DECLARE vet_cad[3] = space (12)

ret = FOPEN ("bdemp1", "a", 33, 2)

IF ret # 0

  MESSAGE "Erro na abertura do banco" blink

  QUIT (2)

ENDIF

* Exibirá 102 (estrangeira e única)

? FKEY ("tab_vend", "id1_func", vet_cad)

* Exibirá tab_func

? vet_cad[1]

?

* Exibirá 1 (chave primaria)

? FKEY ("tab_func", "id0_func", vet_cad)

* Exibirá 0000000003

? vet_cad[1]

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