Filtro en un Grind

Hola... Necesito hacer un formulario que contenga un text, un command que se llame consultar y un Grind...
El grind contiene información de Alumnos de un instituto y estos datos están ordenados por numero (1,2,3,4...). Lo que quiero es que al escribir un numero en el text y dar clic en el command, en el grindo me aparezca solo los datos del alumno que corresponde al numero que escribí... Espero me ayuden...
Respuesta
1
Lo que puedes hacer es:
Me imgano que tiene tienes el grid enlazado directamente con la tabla de la base de datos (si es así excelente).
En el botón pones lo siguiente:
Select mi tabla
set filter to
set filter to numero = thisform.text1.value &&filtra los registros por el campo numero
Thisform. Grid1. Refresh
Y listo ojala te ayude...
Hola amigo... Sijate que si lo pongo como dices, el grind queda sin ningún dato... y si intento poner esto:
if !seek (alltrim(this.parent.text1.value))
MESSAGEBOX("No se encuentra el registro")
ELSE
Select inventa
set filter to
set filter to nproducto= this.parent.text1.value &&filtra los registros por el campo numero
this.parent.grid1.refresh
Endif
Me tira un error al dar clic en el botón buscar el error dice:
table has no index order set...
¿Qué hago...?
Es porque estas utilizando el seek sin un indice establecido
Cada vez que utilice un seek debe primero indexar la tabla (obviamente el indice debe estar "enfocado" al campo de filtro)
Ok... Peo el problema es que soy extremadamente nuevo en foxpro... Puedes decirme como hago eso...¿?
Debes dar las siguientes instrucciones
select mitabla &&entiendase mitabla como el nombre de la tu tabla
set order to micampoindice &&entiendase micampoindice como el nombre del indice
if !seek (alltrim(this.parent.text1.value))
MESSAGEBOX("No se encuentra el registro")
ELSE
Select inventa
set filter to
set filter to nproducto= this.parent.text1.value &&filtra los registros por el campo numero
this.parent.grid1.refresh
ENDIF
Gracias por el interés experto... Ahora no me da errores... Si no existe el registro en la tabla me manda el messagebox y todo, Pero el problema es que cuando encuentra el registro no filtra los datos que tiene sino que el grind queda sin ningún dato... No se que hacer.
No le des thisform. Parent. Grid1. Refresh
Dale solo thisform. Grid1. Refresh
Es que esta en un page frame.. Osea en página.. intente ponerlo así y me dice que no reconoce el objeto grid1...
También hice otro formulario sin páginas y tampoco funciona...
Sera la manera de hacer el grid... Lo que hice fue ponerlo en el form luego le di clic derecho y clic en la opción builder, desde ahí agrregue los campos que quiero que se muestren en el grid... ¿Así se hace o me equivoque?..
Puede ser... la verdad por este tipo de cosas no utilizo los builder
Entonces como puedo Hacerlo... Agradecería una respuesta completa. Desde Crear el Grid hasta la programación para filtrar datos. Vale aclarar que solo utilizo VFP incluyendo las bases de datos. Espero tu respuesta lo más pronto posible...
Dejame y apenas tenga un tiempo te hago un video sobre como hacerlo y también un ejemplo
Necesito un mail para enviarte el video y el ejemplo
ok mi correo es: (xxxxxx)
Ok ya lo envié, por favor no se te olvide finalizar la preguntano olvides la calificación.
Finaliza la pregunta
Hola experto... Gracias por tu ayuda. Te pondría un 100 de calificación pero solo se puede 5... Así que eso sera je je... Gracias por tu esfuerzo y colaboración...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas