FoxPro/Visual FoxPro - Busqueda en una tabla

 
Vista:

Busqueda en una tabla

Publicado por Giovanni (64 intervenciones) el 20/12/2005 01:06:05
Hola necesito una manito con esto
Tengo una tabla con dos campo

mitabla (codigo c(4), nombre c(35))

tengo algunos registros

codigo nombre
0001 ALEJANDRO
0002 LEANDRO
0003 JAIRO
....... ..............

capturo un valor en un textbox y luego realizo la busqueda
LOCATE FOR NOMBRE = ALLTRIM(MITEXTBOX.VALUE)

Supongamos que el usuario digita 'ALE' se encuentra una coincidencia. (ALEJANDRO)
pero si se digita 'ANDRO' la busqueda no arroja resultados.

La pregunta es como hago para que la busqueda se realize de la siguiente manera

1. por los dos campo al tiempo ya sea codigo o nombre
2. que busque el valor capturado en cada registro es decir en el ejemplo la busqueda (ANDRO) encontraria dos coincidencias una en ALEJANDRO y otra en LEANDRO

por que quiero que los busque en ambos campos? por que el usuario puede digitar el codigo o el nombre. O en su defecto que comando o funcion puedo usar?

Les agradeceria mucho, gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Busqueda en una tabla

Publicado por Marco Aurelio (263 intervenciones) el 20/12/2005 12:38:03
Hola

Tendrias que indexar la tabla por ambos campos codigo+nombre y colocar el SET EXACT OFF
SET NEAR ON

suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Busqueda en una tabla

Publicado por Marco Aurelio (263 intervenciones) el 20/12/2005 13:44:20
lo antererior solo buscara cuando la coincidencia es de izquierda a derecha no encuentra los caracteres intermedios. Para eso seria esta rutina

GO top
DO WHILE !EOF()
uno = "ANDRO"
dos = mitabla.codigo+mitabla.nombre
num = 0
num = AT(uno,dos)
IF num > 0
MESSAGEBOX("registro encontrado",48)
endif
skip
enddo

suerte amigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Busqueda en una tabla

Publicado por giovanni (64 intervenciones) el 21/12/2005 21:38:54
Gracias Marco Aurelio

La rutina esta buena solo que necesitaba usar el locate para seguir buscando en la tabla de una manera mas practica, es asi como en el otro foro me dijeron que usara en lugar del signo = el signo $ cambiando el orden de busqueda asi:

locate for MIVALOR $ CAMPO1, CAMPO2

lo he probado y funciono, tu rutina la aplicare en otra parte de mi programa.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar