Filtros anidados

Filtros anidados

Postby Armando » Thu May 01, 2008 1:22 am

Amigos:

Es posible tener filtros anidados ?, me explico.

Si tengo un filtro como el siguiente:

(cAlias)->(DBSETFILTER({|| (cAlias)->NOMBRE = "ARMANDO"}," (cAlias)->NOMBRE = 'ARMANDO'" ))

Despues necesito hacer otro filtro como el siguiente:

(cAlias)->(DBSETFILTER({|| (cAlias)->AUTORIZADO}," (cAlias)->AUTORIZADO" ))

Entiendo que de los dos filtros puedo hacer uno solo, la complicación es que no siempre habrá dos filtros, puede ser que el usurio necesite filtrar los registros para que queden solo los AUTORIZADOS sin importar de que cliente sean o bien puede ser que el usuario necesite solo los registro del NOMBRE = "ARMANDO" sin importar si estan autorizados o no.

Espero haberme explicado, Saludos a todo el foro
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3239
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Postby Francisco Horta » Thu May 01, 2008 3:20 am

armando y porque no usas primero un scope y luego un filter?
salu2
Paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: Filtros anidados

Postby mmercado » Thu May 01, 2008 3:44 am

Armando wrote:Despues necesito hacer otro filtro como el siguiente:
(cAlias)->(DBSETFILTER({|| (cAlias)->AUTORIZADO}," (cAlias)->AUTORIZADO" ))

Hola Armando:

A ver si es por aquí:
Code: Select all  Expand view  RUN
cFiltro := (cAlias)->( DbFilter() )
cFiltro += If( ! Empty( cFiltro ), ".and.(cAlias)->AUTORIZADO", "(cAlias)->AUTORIZADO" )
(cAlias)->( DbSetFilter( &( "{||" + cFiltro + "}" ), cFiltro ) )

Saludos.

Manuel Mercado
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Postby Armando » Fri May 02, 2008 12:50 pm

Amigos:

Muchas gracias por las respuestas.

Paco, lamentablemente no puedo hacer un SCOPE inicial porque la DBF no esta indexada por el campo del filtro :-(

Manuel, voy a intentarle por ahí.

Nuevamente, Gracias a ambos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3239
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Postby Armando » Fri May 02, 2008 7:02 pm

Amigos:

Problema solucionado con la idea de Manuel.

Saludos y muchas gracias
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3239
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 32 guests