4D v13.4Find in field |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v13.4
Find in field
|
Find in field ( campoObjetivo ; valor ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
campoObjetivo | Campo |
![]() |
Campo objetivo en el cual ejecutar la búsqueda. | |||||
valor | Campo, Variable |
![]() |
Valor a buscar | |||||
![]() |
Valor encontrado | |||||||
Resultado | Entero largo |
![]() |
Número del registro encontrado o -1 si no se encontró ningún registro | |||||
El comando Find in field devuelve el número del primer registro cuyo campoObjetivo es igual a valor.
Si no se encuentran registros, Find in field devuelve -1.
Después de llamar este comando, valor contiene el valor encontrado. Esta funcionalidad le permite efectuar búsquedas utilizando el carácter (“@”) en campos tipo Alfa y luego recuperar el valor encontrado.
Este comando no modifica la selección actual ni el registro actual.
Este comando es rápido y muy útil para evitar la creación de entradas dobles durante la entrada de datos.
En una base de datos de CDs, durante la entrada de datos asumamos que usted quiere verificar el nombre del cantante para ver si ya existe en la base. Como pueden existir homónimos, usted quiere que el campo [Cantante]Nombre sea único. Por lo tanto, en el formulario de entrada, puede escribir el siguiente código en el método de objeto del campo [Cantante]Nombre:
If(Form event=On Data Change)
$RecNum:=Find in field([Cantante]Nombre;[Cantante]Nombre)
If($RecNum #-1) ` si este nombre ya ha sido introducido
CONFIRM("Ya existe un cantante con el mismo nombre. ¿Quiere ver el registro?";"Sí";"No")
If(OK=1)
GOTO RECORD([Cantante];$RecNum)
End if
End if
End if
Este es un ejemplo que permite verificar la existencia de un valor:
Tenga en cuenta >= permite cubrir todos los casos. De hecho, la función devuelve un número de registro y el primer registro tiene el número 0.
Producto: 4D
Tema: Búsquedas
Número
653
Lista alfabética de los comandos
Modificado: 4D v11 SQL
Trouver clef index***