Programación General > Visual FoxPro

 Re: Aplicacion de Filtros

(1/1)

Leon:
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.

Plinio:
Estas cerrando el formulario la tabla?

Por si acaso estas usando el Data Enviroment?

SUMANDO:
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?

Navegación

[0] Índice de Mensajes

Ir a la versión completa