Locate
Un locate te permite buscar en una tabla de manera secuencial y se llega posicionar en el registro que cumpla con las condiciones indicadas.
Este comando puede realizar la búsqueda en una tabla sin la necesidad de que esté indexada.
Una vez que LOCATE encuentra un registro el cual coincida, puedes utilizar CONTINUE para buscar en el resto de la tabla todos aquellos registros que coinciden.
Cuando se ejecuta CONTINUE, se reanuda el proceso de búsqueda, pero esta vez comenzando con el registro que sigue inmediatamente al registro coincidente. Puede emitir CONTINUE repetidamente hasta que se alcance el final del alcance o el final de la tabla.
LOCATE [FOR lExpression1] [Scope] WHILE lExpression2] [NOOPTIMIZE]
Ejemplo:
clear
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Open Customer table
SET TALK OFF
STORE 0 TO gnCount
LOCATE FOR ALLTRIM(UPPER(customer.country)) = 'VENEZUELA'
DO WHILE FOUND( )
gnCount = gnCount + 1
? company
CONTINUE
ENDDO
?
? 'Total companies Germany: '+ LTRIM(STR(gnCount))










