Filtrar Grid desde un TextBox o mediante un botón...

Quisiera que me ayudes con este problema: Tengo una Tabla cliente, lo que quiero es que cuando ingrese en un TextBox unas cuantas letras del Nombre del cliente me muestre en el Grid solo esos clientes.
La estructura de la Tabla cliente es: id_cliente, nombre, apellido, dirección, teléfono.

1 respuesta

Respuesta
1

Bueno debes poner el grid mostrar los datos y en el evento keypress del text podrias poner algo asi

LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode = 13
LOCATE FOR UPPER(ALLTRIM(SUBSTR(apellido,1,LEN(ALLTRIM(This.Value))))) = UPPER(ALLTRIM(This.Value))
ENDIF

Con este codigo te permite buscar por el campo apellido, es lo basico que te puedo dar ahi lo puedes adaptar a tus necesidades.

gracias por tu ayuda... y si yo quisiera realizar la búsqueda sobre la misma tabla mediante un textbox y un botón buscar y mostrar la búsqueda por el apellido en grid como seria????

gracias y saludos....

Para eso debes primer llenar el grid con un select mas o menos seria asi

en el evento init del form debe ir

thisform.grid1.recordsource=""

thisform.grid1.refresh

select * from cliente order by apellido,nombre into cursor cclientes

thisform.grid1.recordsource="cclientes"

thisform.grid1.refresh

en el boton de comando deberia ir

cadena = thisform.text1.value

thisform.grid1.recordsource=""

select * from cliente where apellido like cadena+"%" order by apellido,nombre into cursor cclientes

thisform.grid1.recordsource="cclientes"
Thisform. Grid1. Refresh

Basicamente con eso te deberia dar resultado.

Hola la verdad que no soy muy experto en esto no puedo lograr que funcione correctamente, me podrías enviar un ejemplo así yo pueda guiarme te dejo mi mail [email protected] ..... desde ya gracias saludos. Luis Rafael Martinez

El codigo que te di esta bastante claro y sencillo, si te envio ejemplos te confundiria aun mas, mejor indicame que es lo que hiciste o si te sale algun error

Ya lo hice bien, me sirvió tu ayuda tengo una preguntas mas por que salen los valores que yo había eliminado de mi tabla o que supuestamente elimine ja; gracias...

Si los eliminaste con delete ahi solo se eliminan logicamente mas no fisicamente eso lo logras ejecutando despues el comando pack, ahora si no quieres que te aparezcan los registros eliminados logicamente pues usas al inicio set deleted on y con eso no te deberian aparecer

ok ya me funciona, pero ahora tengo un error, al ejecutar el programa me sale Alias 'venta' is not found; puede deberse a que yo suprimí SET EXCLUSIBE ON Y USE VENTA..... pero si los habilito nuevamente el grid me sale en blanco; como puedo solucionar esto????

¿En las propiedades del grid no tienes llena la propiedad recordsource?

si dice cliente.....

Debes dejar esa propiedad en blanco ya que en el init que te indique llenas esa propiedad y vuelve a poner el código que habías quitado y ahí te debería funcionar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas