SoloCodigo
Programación General => Visual FoxPro => Mensaje iniciado por: Leon en Viernes 6 de Junio de 2003, 08:01
-
Hola de nuevo soy yo otra vez, ahora con lo suguiente, tengo una tabla de alumnos, pero en cierto momento necesito, aplicar tres filtros, a la tabla al mismo tiempo. Uno para clave de la materia, otro de periodoy otro de año, los tres juntos me dan, como resultado la lista de alumnos de una materia especifica. El problema es que solo me respeta un filtro no importa cual sea, simpre es uno, no los tres al mismo tiempo.
Este es el codigo que utilizo:
select alumnos
go top
if !empty(mperiodofil)
set filter to ALLTRIM(UPPER(periodo))=ALLTRiM(UPPER(mperiodofil))
endif
if !empty(mcve_actfil)
set filter to ALLTRIM(Upper(cve_act))=ALLTRIM(UPPER(mcve_actfil))
endif
if !empty(mañofil)
set filter to año=mañofil
endif
thisform.release
Se supone que una vez aplicado el filtro, se mantiene anque se cierre el formulario donde se genero.
-
Estas cerrando el formulario la tabla?
Por si acaso estas usando el Data Enviroment?
-
Hola, cambié un poco tu código, revisa si esto te sirve:
SELECT ALUMNOS
GO TOP
XFILTER = ""
IF !EMPTY(MPERIODOFIL)
XFILTER = "ALLTRIM(UPPER(PERIODO))=ALLTRIM(UPPER(MPERIODOFIL))"
ENDIF
IF !EMPTY(MCVE_ACTFIL)
XFILTER = IIF(EMPTY(XFILTER),""," AND ")+;
"ALLTRIM(UPPER(CVE_ACT))=ALLTRIM(UPPER(MCVE_ACTFIL))"
ENDIF
IF !EMPTY(MAÑOFIL)
XFILTER = IIF(EMPTY(XFILTER),""," AND ")+;
"AÑO=MAÑOFIL"
ENDIF
SET FILTER TO &XFILTER
THISFORM.RELEASE
=============================
PREGUNTA: ¿No te conviene más usar vistas?