Cambiar set filter

Cambiar set filter

Postby José Camilo » Sat Apr 23, 2022 3:57 am

Buenas noches. de que otra forma se puede indicar un filtro como este en un xBrowse.

set filter to pagos->consorcio = nncons .and. dtos(pagos->fechliq)<=dtos(dfliq) .and. ! Pagos->pagado

no se como se usa el SCOPE ni donde puedo obtener su sintaxis.

Gracias
José Camilo
 
Posts: 180
Joined: Wed Apr 07, 2021 3:56 pm

Re: Cambiar set filter

Postby nageswaragunupudi » Sat Apr 23, 2022 11:50 am

Code: Select all  Expand view
set filter to payments->consortium = nncons .and. discounts(payments->liqdate)<=discounts(dfliq) .and. ! Payments->paid
oBrw:GoTop()
oBrw:Refresh()
 
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10247
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Cambiar set filter

Postby karinha » Sat Apr 23, 2022 12:12 pm

Use INDEX ON... MEMORY // TEMPORARY Super rápido y seguro.

Code: Select all  Expand view

INDEX ON <expKey> [TAG <cOrderName>] [TO <cOrderBagName>]
        [FOR <lCondition>] [ALL]
        [WHILE <lCondition>] [NEXT <nNumber>]
        [RECORD <nRecord>] [REST]
        [EVAL <bBlock>] [EVERY <nInterval>]
        [UNIQUE] [ASCENDING|DESCENDING]
        [USECURRENT] [ADDITIVE]
        [CUSTOM] [NOOPTIMIZE] [MEMORY] [TEMPORARY]
 


haga una busqueda en el foro.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7213
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cambiar set filter

Postby karinha » Sat Apr 23, 2022 12:28 pm

Code: Select all  Expand view

#command INDEX ON <key> [TAG <(tag)>] TO <(bag)> ;
      [FOR <for>][ WHILE < while > ][ NEXT < next > ] ;
      [RECORD <rec>][ < rest:REST > ][ < all:ALL > ] ;
      [EVAL <eval>][ EVERY < every > ][ < unique: UNIQUE > ] ;
      [<ascend: ASCENDING>][ < descend: DESCENDING > ] ;
      [<add: ADDITIVE>][ < cur: USECURRENT > ][ < cust: CUSTOM > ] ;
      [<noopt: NOOPTIMIZE>][ < mem: MEMORY, TEMPORARY > ] ;
      [<filter: USEFILTER>][ < ex: EXCLUSIVE > ] => ;
      ordCondSet( < "for" >, < { for } >,[ < .all. > ], < { while } >, ;
      <{ eval } >, < every >, RecNo(), < next >, < rec >, ;
      [<.rest.>],[ < .descend. > ],, ;
      [<.add.>],[ < .cur. > ],[ < .cust. > ],[ < .noopt. > ], ;
      <"while" >,[ < .mem. > ],[ < .filter. > ],[ < .ex. > ] ) ;;
      ordCreate( < ( bag ) >, < ( tag ) >, < "key" >, < { key } >,[ < .unique. > ] )

 


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7213
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cambiar set filter

Postby José Camilo » Sat Apr 23, 2022 2:33 pm

Sr. Rao. gracias por atender mi duda. al probar su solucion me desconoce la funcion DISCOUNTS.
En realidad el set filter mio de ejemplo funciona bien solo que cuando por ejemplo estoy en el 5to registro y llamo a una funcion para cargar un dato ya sea que lo cargue o no al retornar al xbrowse me toma como primer registro el 5to, no me deja ir hacia arriba hasta que muevo todos los registro hacia abajo y luego si me permite ir al inicio. me explico.? al sacar el set filter funciona bien . disculpe. no domino el ingles. Gracias
José Camilo
 
Posts: 180
Joined: Wed Apr 07, 2021 3:56 pm

Re: Cambiar set filter

Postby José Camilo » Sat Apr 23, 2022 2:36 pm

Karinha. gracias por contestarme. hoy x hoy tu solucion me supera. no la entiendo mucho. perdon.
José Camilo
 
Posts: 180
Joined: Wed Apr 07, 2021 3:56 pm

Re: Cambiar set filter

Postby karinha » Sat Apr 23, 2022 3:03 pm

José Camilo wrote:Karinha. gracias por contestarme. hoy x hoy tu solucion me supera. no la entiendo mucho. perdon.


Code: Select all  Expand view

   // set filter to pagos->consorcio = nncons .and. dtos(pagos->fechliq)<=dtos(dfliq) .and. ! Pagos->pagado


   LOCAL cAlias

   SELECT( PAGOS )
   GO TOP

   cAlias := ALIAS()

   // Mira que TAG es la ultima de PAGOS.CDX + 1 aqui:
   INDEX ON CONSORCIO TAG 03 TO CONSTEMP FOR ( .NOT. EOF() )           .AND. ;
      ( cAlias )->consorcio = nnCons                                   .AND. ;
      ( cAlias )->dtos( ( cAlias )->fechliq <= dtos( dfliq ) )         .AND. ;
      ( cAlias )->( cAlias )->pagado = [N] MEMORY // TEMPORARY

   GO TOP

   IF EOF()

      ? [ERROR, VACIO! ALGO ERRADO."

   ENDIF

   BROWSE()



Close the Filter:

https://vivaclipper.wordpress.com/2014/01/18/orddestroy/

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7213
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cambiar set filter

Postby José Camilo » Sat Apr 23, 2022 3:16 pm

karinha wrote:
José Camilo wrote:Karinha. gracias por contestarme. hoy x hoy tu solucion me supera. no la entiendo mucho. perdon.


Code: Select all  Expand view

   // set filter to pagos->consorcio = nncons .and. dtos(pagos->fechliq)<=dtos(dfliq) .and. ! Pagos->pagado


   LOCAL cAlias

   SELECT( PAGOS )
   GO TOP

   cAlias := ALIAS()

   // Mira que TAG es la ultima de PAGOS.CDX + 1 aqui:
   INDEX ON CONSORCIO TAG 03 TO CONSTEMP FOR ( .NOT. EOF() )           .AND. ;
      ( cAlias )->consorcio = nnCons                                   .AND. ;
      ( cAlias )->dtos( ( cAlias )->fechliq <= dtos( dfliq ) )         .AND. ;
      ( cAlias )->( cAlias )->pagado = [N] MEMORY // TEMPORARY

   GO TOP

   IF EOF()

      ? [ERROR, VACIO! ALGO ERRADO."

   ENDIF

   BROWSE()



Close the Filter:

https://vivaclipper.wordpress.com/2014/01/18/orddestroy/

Regards, saludos.



Karinha, no uso cdx, uso ntx. funciona igual? o que cambia ? gracias
José Camilo
 
Posts: 180
Joined: Wed Apr 07, 2021 3:56 pm

Re: Cambiar set filter

Postby karinha » Sat Apr 23, 2022 4:11 pm

Creo que nada. Intente para ver el que ocorri. Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7213
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 58 guests