versión 11 (Modificado)
Find in field (campoObjetivo; valor) Entero largo
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 |
Descripción
El comando Find in field devuelve el número del primer registro cuyo campoObjetivo es igual a valor.
If no records are found, Find in field returns -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.
Ejemplo
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