4D v13.4Find in field |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v13.4
Find in field
|
Find in field ( campoAlvo ; valor ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
campoAlvo | Campo |
![]() |
Campo Alvo no qual executar a pesquisa | |||||
valor | Campo, Variável |
![]() |
valor a procurar | |||||
![]() |
valor encontrado | |||||||
Resultado | Inteiro longo |
![]() |
Número do registro encontrado, ou -1 se nenhum registro for encontrado | |||||
O comando Find in field devolve o número do primeiro registro cujo campoAlvo for igual a valor.
Se não são encontrados registros, Find in field devolve -1.
Depois de chamar este comando, valor contém o valor encontrado. Esta funcionalidade lhe permite realizar pesquisas utilizando o caractere (“@”) em campos tipo Alfa e depois recuperar o valor encontrado.
Este comando não modifica a seleção atual nem o registro atual.
Este comando é rápido e muito útil para evitar a criação de entradas duplas durante a entrada de dados.
Nota histórica: Em versões anteriores de 4D, o comando Find in field era chamado Find index key e só funcionava com campos indexados. A partir de 4D v11 SQL, esta limitação se eliminou e o comando foi renomeado.
Em um banco de dados de CDs, durante a entrada de dados, suponha que queira verificar o nome do cantor para ver se já existe no banco. Como podem existir homônimos, você quer que o campo [Cantor]Nome seja único. Portanto, no formulário de entrada, pode escrever o código a seguir no método de objeto do campo [Cantor]Nome:
If(Form event=On Data Change)
$RecNum:=Find in field([Cantor]Nome;[Cantor]Nome)
If($RecNum #-1) ` se este nome já tiver sido introduzido
CONFIRM("Já existe um cantor com o mesmo nome. Deseja ver o registro?";"Sim";"Não")
If(OK=1)
GOTO RECORD([Cantor];$RecNum)
End if
End if
End if
Produto: 4D
Tema: Pesquisas
Número
653
Modificado: 4D v11 SQL
Trouver clef index***