FoxPro/Visual FoxPro - Busqueda Incremental

 
Vista:

Busqueda Incremental

Publicado por Daniel (9 intervenciones) el 03/03/2002 20:37:58
Hola amigos programadores, quisiera saber si alguien me puede ayudar a ejecutar una busqueda incremental en una tabla, por ejemplo con un combo box ligado a un campo de una tabla, se trata de que cuando uno este escribiendo en el combo box un valor se vayan mostrando los valores que se asemejen a lo que estoy escribiendo, por ejemplo, si escribo GA me ponga el primer registro que empiece con estas letras, se que se puede hacer en Visual Basic pero en Visual Fox Pro no lo he conseguido.
De antemano muy agradecido con ustedes.
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
sin imagen de perfil

RE:Busqueda Incremental

Publicado por Bernard (17 intervenciones) el 04/03/2002 17:17:58
Hola, lo puedes hacer con el metodo interactivechange, yo no lo he hecho con un combobox sino con textbox, cada vez que presiono una tecla hago un seek a la tabla y un refresh al grid.

espero que esto te ayude
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 Incremental

Publicado por ROD (184 intervenciones) el 04/03/2002 21:06:33
hola como estas.
aqui tienes un ejemplo.

LOCAL LC, LNRECNO, LCCAMPO

LC= UPPER(ALLTRIM(THIS.VALUE)) &&VAR CON DATOS A BUSCAR
LNRECNO=RECNO() &&POSICION DEL REGISTRO
LCCAMPO="tu_tabla.Tu_campo_donde_buscar"
GRI001="THISFORM.GRID1.COLUMN1.SETFOCUS"
TEX001="THISFORM.TEXT1.SETFOCUS"
IF UPPER(ALLTRIM(&LCCAMPO)) >= LC
IF UPPER(ALLTRIM(&LCCAMPO)) < LC && DEBE QUEDAR DONDE ESTABA
IF LNRECNO <= RECC()
GO RECNO()
ELSE
GO BOTTO
ENDIF
RETURN
ENDIF

IF NOT EMPTY(ORDER()) && BUSQUEDA CON INDICE
SEEK LC
ELSE
GO TOP
LOCATE REST FOR UPPER(ALLTRIM(&LCCAMPO))=LC WHILE UPPER(ALLTRIM(&LCCAMPO)) <= LC NOOPTIMIZE
ENDIF
ELSE
LOCATE REST FOR UPPER(ALLTRIM(&LCCAMPO))=LC WHILE UPPER(ALLTRIM(&LCCAMPO)) <= LC NOOPTIMIZE
ENDIF
IF LNRECNO # RECNO()
&GRI001
&TEX001
ENDIF
RETURN

ATTE
ROD
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