Utilizar set filter con grillas

Hola
kiero aplicar el set filter en un par de form ,pero no tngo idea d como acerlo
te explico:
Cree un conjunto de form, en el primero tengo una grilla con la tablas grados
en el 2º form tengo una tabla de alumnos
t doy una descripción de las tablas
1--GRADOS
id_grado
División
Grado
Turno
*************
2-ALUMNOS
id_dni
id_grado
nombre
**************
Cuándo ejecuto el form me aparece el formulario con la grilla grados y lo que quiero es que al hacer clic sobre un grado me filtre solo los alumnos de ese grado en el 2 form
espero que t haya sido claro mi consulta
chau y hasta pronto

1 Respuesta

Respuesta
1
Select alumnos
Set Filter To alumnos.id_grado == grados.id_grado
Hola víctor
Hice lo que me escribiste y funciono perfecto lo coloq en el procedimiento clic de la grilla, pero ahora me surgió un nuevo problema debido a un cambio de ultima
adms de los 2 formulario que tengo tuve que agregar uno más para filtrar los grado por ciclo, como es esto, t explico cuándo ejecuto el formulario m apatarece el nuevo form que agregue que tiene un texboxciclo en donde ingreso el ciclo lectivo. Cuando clickeo buscar m tiene que filtrar los grado por ciclo de la grilla grados del 2 formulario
noce si me explique bien, necesito tu ayuda porque se me termina el plazo de entrega del sistema
gracias y hasta pronto
Select alumnos
Set Filter To alumnos.id_grado == grados.id_grado And alumnos.ciclo == texboxciclo.Value
Hola víctor
Me olvide de poner que el campo CICLO esta en las 2 tablas la de alumno y la de grado
cuando ejecuto el form lo primero que me aparece un form de búsqueda de ciclo y al ingresar un ciclo en el textboxciclo y dar click en el botón buscar tienen que aparecer en la grilla del 2 form solo los grados de ese ciclo
eje:si ingreso ciclo 2008 m tine que aparecer en la grilla del 2 form solo los grado del ciclo 2008 y no los demás grado
Select alumnos
Set Filter To alumnos.id_grado == grados.id_grado
Select grados
Set Filter To grados.ciclo == texboxciclo.Value
Hola
Puse el código en el botón buscar derl form ciclo y cuando coloco por eje 2008 en el textbociclo y le doy clic,
en el 2 form que tine la grilla grados me aparecen grados con ciclo 2008,2007 todos
noce si el código va en ese botón o en otra part
gracias y chau
Refresca el objeto Grid, ambos
Hola
Seria algo como esto
this.refresh en q procedimienmto
load, init,clik de la grilla o del form
No, más bien ThisForm. Refresh después de hacer el filtrado
Hola víctor
Hice todo y no me filtra los grados
Pero intente hacerlo de otra forma y llegue hasta esto y funciona parcialmente
******************
boton buscar formulario ciclo
select grados
go top
locate for grados.ciclo=textdni.value
if found()
set filter to grados.ciclo=thisformset.formgrados.grilla1.columna3.text1.value
messagebox("el ciclo se encuentra",0)
thisformset.formciclo.visible=.f.
thisformset.formgrados.visible=.t.
thisformset.formalumnos.visible=.f.
else
messagebox("el aciclo no se encuentra",0)
thisformset.formciclo.visible=.f.
thisformset.formgrados.visible=.t.
thisformset.formalumnos.visible=.f.
endif
***************************************************
funciona parcialmente pork :ingreso un ciclo y filtra correctamentn .
En el 2º formulario que tiene la grilla grados tine dos botones CANCELAR Y VOLVER
el segundo me da problemas
**************************
boton volver
thisformset.formciclo.visible=.t.
thisformset.formgrados.visible=.f.
thisformset.formalumnos.visible=.f.
***************************
Cuando vuelvo al primer formciclo el set filter no funciona correctamente m dice que no encuentra el ciclo, pero el ciclo si esta el la trabla grados, solo filtra el primer ciclo que ingreso
pareciera que el filtro no c cerrara, bueno eso digo yo
noce si me exprese correctamente
espero tu ayuda
gracias y hasta pronto
Al botón volver del segundo formulario agrega las líneas:
Select grados
Set Filter To
Hola víctor
colok
SELECT GRADOS Y SET FILTER TO en el boton VOLVER
pero ahora el resultado es otro,ants no me encontraba pero ahora solo filtra una consulta te explico
cuando busco el ciclo 2008 y doy click en buscar (en la barra de estado del visual fox me figura REGISTRO=1,esto esta bien por encontro el registro) en el siguinet form me aparecen todos los grados del ciclo 2008 hasta aqui esta bien pero cuando doy en VOLVER y coloco otro ciclo me muesta siempre el resultado anterior o sea la primer consulta.
En la tabla grados tengo grados de dos ciclos 2007,2008
lo mismo suced cuando ingreso 2007 (en la barra de estado del visual fox me figura REGISTRO=7, esto esta bien por encontró el registro) me muestra el único grado que cargue, hasta aquí todo bien, ¿doy en volver coloco 2008 y sigue la grilla con el ciclo 2007
k puede ser?
Gracias y hasta pronto
Eso es porque el filtro anterior no lo estás eliminando.
¿Y cómo podría eliminarlo del todo?
De la misma manera que lo creaste, con Set Filter To, sin parámetros se elimina un filtro.
colok
select grados
set filter to y refresq las grillas en el boton enviar
tendria k colocar set filter to en otra parte
podria ser k el conjunto de formularios est jodiendo y seria mejor hacer los form x separado?
Debes de eliminar la totalidad de filtros, en todas las tablas que se encuentren filtradas, refrescar la información y volver a crear los filtros.
Y si, en formularios independientes el proceso es más claro, pero más complicado de implementar.
Hola
peron por la tardanza en mi rpta
Podías decirm si hay otra forma de filtrar datos por el set filter m volvió loco
estuve investigando y se complica mucho utilizarlo. Bueno eso digo yo
en fin si las hay podías pasármelas y luego yo investigo
chau y hasta pronto
Podrías relacionar la tabla y filtrar solo en una tabla, o podrías crear una tabla temporal y trabajar con ella.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas