FoxPro/Visual FoxPro - problema con filtro

 
Vista:

problema con filtro

Publicado por Romina (7 intervenciones) el 20/06/2005 01:08:13
Hola a todos! Tengo que filtrar una tabla de inmuebles según la demanda del cliente para ver que inmuebles se ajustan a esa demanda. El problema que tengo es que filtra cualquier cosa y no se por que. ¿Tengo mal alguna condicion or ó and ó los parentesis?
El código del filtro es:
SELE INMUEBLES
SET FILTER TO
filtro1=iif(empty(demandas.tipo1) or alltrim(demandas.tipo1)="0",".T.","demandas.tipo1=inmuebles.tipo")
filtro2=iif(empty(demandas.tipo2) or alltrim(demandas.tipo2)="0",".T.","demandas.tipo2=inmuebles.tipo")
filtro3=iif(empty(demandas.zona1),".T.","AT(alltrim(demandas.zona1),inmuebles.zona)>0")
filtro4=iif(empty(demandas.zona2),".T.","AT(alltrim(demandas.zona2),inmuebles.zona)>0")
filtro5=iif(empty(demandas.poblacion1),".T.","AT(alltrim(demandas.poblacion1),inmuebles.poblacion)>0")
filtro6=iif(empty(demandas.poblacion2),".T.","AT(alltrim(demandas.poblacion2),inmuebles.poblacion)>0")
filtro7=iif(empty(demandas.sup_const),".T.","inmuebles.sup_const>=demandas.sup_const")
filtro8=iif(empty(demandas.sup_parcela),".T.","inmuebles.sup_parc>=demandas.sup_parcela")
filtro9=iif(empty(demandas.altura),".T.","inmuebles.altura>=demandas.altura")
filtro10=iif(empty(demandas.plantas),".T.","inmuebles.plantas>=demandas.plantas")
filtro11=iif(empty(demandas.antiguedad),".T.","inmuebles.antiguedad>=demandas.antiguedad")
filtro12=iif(empty(demandas.dormitorios),".T.","inmuebles.dormitorios>=demandas.dormitorios")
filtro13=iif(empty(demandas.baños),".T.","inmuebles.baños>=demandas.baños")
filtro14=iif(empty(demandas.aseos),".T.","inmuebles.aseos>=demandas.aseos")
filtro15=iif(empty(demandas.terrazas),".T.","inmuebles.terrazas>=demandas.terrazas")
filtro16=iif(empty(demandas.situacion) or alltrim(demandas.situacion)="0" ,".T.","inmuebles.situacion=demandas.situacion")
filtro17=iif(empty(demandas.orientacion) or alltrim(demandas.orientacion)="0" ,".T.","inmuebles.orientacion=demandas.orientacion")
filtro18=iif(empty(demandas.conservacion) or alltrim(demandas.conservacion)="0" ,".T.","inmuebles.conserv=demandas.conservacion")
filtro19=iif(empty(demandas.piscina) or alltrim(demandas.piscina)="0" ,".T.","inmuebles.piscina=demandas.piscina")
filtro20=iif(empty(demandas.jardín) or alltrim(demandas.jardín)="0" ,".T.","inmuebles.jardin=demandas.jardín")
filtro21=iif(empty(demandas.garaje) or alltrim(demandas.garaje)="0" ,".T.","inmuebles.garage=demandas.garaje")
filtro22=iif(empty(demandas.golf),".T.","inmuebles.golf=1")
filtro23=iif(empty(demandas.vistas) or alltrim(demandas.vistas)="0" ,".T.","inmuebles.vistas=demandas.vistas")
filtro24=iif(empty(demandas.dist_mar),".T.","inmuebles.dist_mar<=demandas.dist_mar")
filtro25=iif(empty(demandas.precio),".T.","inmuebles.precio<=demandas.precio")
SET FILTER TO (&filtro1 or &filtro2) and (&filtro3 or &filtro4) and (&filtro5 or &filtro6) and &filtro7 and &filtro8;
and &filtro9 and &filtro10 and &filtro11 and &filtro12 and &filtro13 and &filtro14 and &filtro15 and &filtro16;
and &filtro17 and &filtro18 and &filtro19 and &filtro20 and &filtro21 and &filtro22 and &filtro23 and &filtro24;
and &filtro25

Si alguien me lo puede ayudar a la brevedad se lo agradecere ya que es muy urgente.
Muchas gracias.
Romina
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema con filtro

Publicado por Roman Suazo (2723 intervenciones) el 20/06/2005 02:56:59
Tenes que buscar una manera diferente de poner tu codigo de la forma que la tienes es muy difcil de encontrar los errores....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con filtro

Publicado por Romina (7 intervenciones) el 20/06/2005 15:30:27
Roman:
Muchas gracias por tu ayuda, pero ya logre detectar el error, es que si la expresión estaba vacía yo le ponía que retorne .T. y había que retornar .F.
Gracias.
Romina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar