Discussion:
Busqueda continua con SEEK
(demasiado antiguo para responder)
e***@hotmail.com
2013-10-22 04:54:40 UTC
Permalink
Raw Message
Hola Grupo

Tengo una tabla con mas de 4 millones de registros (para los que son de argentina, es la base de datos de los contribuyentes de la AFIP), y necesito hacer una búsqueda por apellido y nombres y por el tamaño no conviene usar el LOCATE pues se hace muy lerdo y hasta de traba, pues es lógico que use SEEK pero cuando pongo la búsqueda de un apellido por ejemplo "ANDRADA", necesito que me localice todos los ANDRADAS, y solamente me localiza el primero y allí termina. Como puedo hacer para que continue con el siguiente registro ?
Bueno amigos desde ya gracias
Saludos a todos
Esteban Micosii
Sker
2013-11-16 10:46:20 UTC
Permalink
Raw Message
El 22 oct 2013 Escribio en microsoft.public.es.vfoxpro:

> Hola Grupo
>
> Tengo una tabla con mas de 4 millones de registros (para los que
> son de argentina, es la base de datos de los contribuyentes de
> la AFIP), y necesito hacer una búsqueda por apellido y nombres y
> por el tamaño no conviene usar el LOCATE pues se hace muy lerdo
> y hasta de traba, pues es lógico que use SEEK pero cuando pongo
> la búsqueda de un apellido por ejemplo "ANDRADA", necesito que
> me localice todos los ANDRADAS, y solamente me localiza el
> primero y allí termina. Como puedo hacer para que continue con
> el siguiente registro ? Bueno amigos desde ya gracias
> Saludos a todos
> Esteban Micosii
>

Creo que para lo que dices, lo mejor seria hacer una consulta SQL y
luego trabajar con ella.
a***@gmail.com
2014-04-05 12:26:13 UTC
Permalink
Raw Message
despues del seek lo que tienes que hacer es un SCAN WHILE.

ej.

ape='ANDRADA'
=seek(m.ape)
SCAN WHILE apellido=m.nom
&&procesar aqui
endscan


o sino, como alternativa, haces una tipica instruccion select y lo metes aun cursor.

select * from tabla where apellido='ANDRADA'
Loading...