¿Cómo buscar en grid?

Tengo un grid un botón buscar y un text, necesito que en ese grid al oprimirle en buscar me encuentre los datos escritos en el text y me los muestre en el grid como puedo hacerlo, sera que me puedes enviar un ejemplo mi correo, [email protected]

1 Respuesta

Respuesta
1
Pues hay varias formas de hacerlo. Si tu tabla no tiene, ni va a tener, muchos datos, puedes usar un simple filtro para que sólo se vean los registros que concuerden con la búsqueda. Otra opción es realizar una consulta SQL y mostrar el resultado en el "grid". Mira, te mando unos ejemplos.
** Filtrando la tabla
SET FILTER TO CampoDeBusqueda == ThisForm.txtBusqueda.Value IN TablaMostrar
ThisForm.GridDatos.Refresh()
** Obviamente el "grid" deberá estar ligado a la tabla "TablaMostrar"
** Para quitarl el filtro
SET FILTER TO IN TablaMostrar
** Utilizando una consulta SQL
SELECT * ;
FROM TablaMostrar ;
WHERE CampoDeBusqueda == ThisForm.txtBusqueda.Value ;
INTO CURSOR _ResultBusqueda
** Ligar el "grid" con el cursor devuelto por la consulta
ThisForm.GridDatos.RecordSource = "_ResultBusqueda"
Donde:
- CampoDeBusqueda: Es el nombre del campo sobre el cual se realiza la búsqueda
- txtBusqueda: Nombre del cuadro de texto que contiene el texto a buscar
- TablaMostrar: Nombre de la tabla sobre la cual se hace la búsqueda
- GridDatos: Nombre del "grid" que mostrará el resultado
¿Perdón por mi ignorancia es que apenas estoy aprendiendo este lenguaje estos códigos en que evento van y en que control?
crm010
fec=fecha inicial
fecf=fecha final
emc=empresa
asc1=asesor
hoic=hora de la cita
Para más aclaración mi tabla esta abierta po un alias llamado crm 010
Y estos son los campos
ahoralo que quiero es que al buscar por la fecha inicial aparezcan en el grid los demás registros gracias
Sí, el código de ejemplo que te mandé debe ir en el evento "Click" del botón "buscar". Si necesitas buscar por la fecha inicial, podrías usar algo así:
** Filtrando la tabla
SET FILTER TO fec == ThisForm.txtBusqueda.Value IN crm010
ThisForm.GridDatos.Refresh()
** Obviamente el "grid" deberá estar ligado a la tabla "crm010"
** Para quitarl el filtro
SET FILTER TO IN crm010
** Utilizando una consulta SQL
SELECT * ;
FROM crm010 ;
WHERE fec == ThisForm.txtBusqueda.Value ;
INTO CURSOR _ResultBusqueda
** Ligar el "grid" con el cursor devuelto por la consulta
ThisForm.GridDatos.RecordSource = "_ResultBusqueda"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas