Visual foxpro 6

Primeramente les doy las gracias de ante mano.
Mi pregunta es la siguiente:
Tengo un formulario que cuenta con un cuadro combinado(combo1), donde selecciono el campo de búsqueda, después tengo un cuadro de texto (Text1)donde tecleo palabra o dato a buscar;y por último el botón de comando (buscar).
Me interesa saber que código se debe de poner, para que cuando dé clic en el botón buscar, localice todos los datos en la tabla (tabla1)que concuerden con los criterios expecificados y los muestre en un "cuadro de lista (list1).
Mi nombre es José González
mi correo es: [email protected]
Respuesta
1
Solución 1:
Crea la lista LIST1 y no le asignes ningún valor.
En el botón BUSCAR escribe el siguiente código:
_DATO=ALLTRIM(THISFORM.TEXT1.VALUE)
SELECT RECNO(),* FROM TABLA1 WHERE AT (_DATO,NOMBRE)#0 INTO CURSOR CURTABLA ORDER BY NOMBRE
SELECT CURTABLA
THISFORM.LIST1.CLEAR
GO TOP
IF NOT EOF()
SCAN WHILE NOT EOF()
THISFORM.LIST1.ADDITEM(NOMBRE+' '+STR(EXP_1,10))
ENDSCAN
ELSE
=MESSAGEBOX ("Dato no Encontrado...")
ENDIF
En el evento "DblClick" de la lista, escribe el siguiente código para poder encontrar en la tabla el nombre que seleccionó de la lista:
_REGISTRO=INT(VAL(RIGHT(THIS.VALUE,10)))
SELECT TABLA1
GO _REGISTRO
Wait 'selecciono: '+allt(nombre) wind
Solución 2:
Crea la lista, haz click derecho en ella, eliges "Generador" y le asignas los campos de la tabla que quieres visualizar en ella.
En el botón BUSCAR escribe el siguiente código:
_DATO=ALLTRIM(THISFORM.TEXT1.VALUE)
SELECT TABLA1
SET FILTER TO AT(_DATO,NOMBRE)#0
THISFORM.REFRESH
En el evento "DblClick" de la lista, escribe el siguiente código para poder encontrar en la tabla el nombre que seleccionó de la lista:
SELECT TABLA1
WAIT 'SELECCIONO: '+ALLT(NOMBRE) WIND
En el evento "Release" del formulario, escribe:
SELECT TABLA1
SET FILTER TO
Espero haber aclarado tus dudas, sino tengo métodos de búsquedas más avanzados para enviarte por correo.
Suerte
Fernando ALVAREZ
La Pampa - Argentina

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas