Page 1 of 1

Doble SetFilter()

PostPosted: Fri Mar 19, 2021 10:56 pm
by santidedos
Buenas noches compañeros,
Tengo una tabla que almacena el registro de 8 tipos de operaciones, y quiero aplicar en un mismo filtro estos dos filtros:

oQry : SetFilter( 'n_concepto = ? and n_operacion < ?', { oQry : n_concepto, 4 } )

oQry : SetFilter( 'n_concepto = ? and n_operacion > ? and alumno_id = ?', { oQry : n_concepto, 3, sCodigo } )

La idea es que cuando el número de la operación es mayor que tres, que el filtro incluya el alumno, y que cuando el número de la operación sea menor que 4, que el filtro no lo incluya. Gracias de antemano!

Re: Doble SetFilter()

PostPosted: Sat Mar 20, 2021 4:16 am
by nageswaragunupudi
Code: Select all  Expand view
oQry:SetFilter( "n_concepto = ? and ( n_operacion < 4 or alumno_id = ? )", { oQry:n_concepto, sCodigo } )

Re: Doble SetFilter()

PostPosted: Sat Mar 20, 2021 9:14 pm
by santidedos
Muchas gracias!! Funciona a la perfección!

Re: Doble SetFilter()

PostPosted: Sun Oct 10, 2021 5:06 pm
by goosfancito
y cuando es una consulta combinada?
Code: Select all  Expand view
  TEXT into cSql
   Select
   a.id AS c1,
   a.nombre AS c2,
   b.id AS c3,
   b.idnombre AS c4,
   b.idsucursal AS c5,
   b.iddistribuidor AS c6,
   c.id AS c7,
   c.nombre AS c8,
   c.obs AS c9,
   d.id AS c10,
   d.nombre AS c11,
   d.obs AS c12
   FROM tbprodnom a
   Left join tbprod AS b ON a.id = b.idnombre
   Left join tbsucursal AS c ON b.idsucursal = c.id
   Left join tbdistribuidores AS d ON b.iddistribuidor = d.id
   ORDER BY a.nombre
   ENDTEXT


   ::oQry := ::oCnx:QUERY( cSql )

   // ahora aplico un filtro, en este caso quiero todo lo que el campo a.nombre = %ahora%

    // Esto es correcto?
     ::oQry:setfilter( "a.nombre=?", { "%ahora%" } )

 


Como puedo ver la "cadena" del filtro' o sea si hice bien el filtro o no