Clipper/FiveWin - FILTRAR TEBROWSE

   
Vista:

FILTRAR TEBROWSE

Publicado por Juan (62 intervenciones) el 15/05/2010 11:37:00
Hola, tengo una aplicación en FWH con varios TWBROWSE filtrados para que solo visualice una determinada información. Primero busco con dbseek, luego filtro con dskip el twbrowse mediante la función ira(). Esto me funcionaba perfecto en clipper, pero en FWH me da algún problema de estabilidad. Me gustaría saber si hay algún método mejor para hacer este filtrado de información. Muchas gracias y un saludo para todos.

ALBSAT08->(DBSEEK(DTOS(Ct:FC)+STR(Ct:Dr)))

olbx9:bskip := {|n| IrA(n,{|| ALBSAT08->FECHAN=Ct:FC .AND. ALBSAT08->NUMERO=Ct:Dr}) }

FUNCTION IrA( n, bWhile )
LOCAL nSkipped := 0, nDireccion := IF(n > 0, 1, -1)

DO WHILE nSkipped != n .AND. EVAL( bWhile ) .AND. !EOF() .AND. !BOF()
DBSKIP( nDireccion )
nSkipped += nDireccion
END DO

DO CASE
CASE EOF()
DBSKIP(-1)
nSkipped += -nDireccion

CASE BOF()
DBGOTO( RECNO() )
nSkipped++

CASE !EVAL( bWhile )
DBSKIP(-nDireccion)
nSkipped += -nDireccion

END CASE

RETURN nSkipped
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:FILTRAR TEBROWSE

Publicado por Gabriel Pascual (914 intervenciones) el 16/05/2010 07:09:22
Usa SCOPES (funcion OrdScope()) en vez de usar las tecnicas de filtrados que usas.

Los Scopes en (x)Harbour estan disponibles tanto para indices CDX como para NTX
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:FILTRAR TEBROWSE

Publicado por JUAN (62 intervenciones) el 19/05/2010 17:40:52
MUCHAS GRACIAS!!!!!, ME FUNCIONA GENIAL.
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:FILTRAR TEBROWSE

Publicado por JUAN (62 intervenciones) el 19/05/2010 21:39:49
HOLA, ESTA OPCION ME FUNCIONA EN UN FILTRADO SIMPLE, DE FECHA1 A FECHA2, PERO SI INTENTO FILTRAR VARIAS CONDICIONES NO SE COMO HACERLO.

HISTOR08->(ORDSCOPE(0,(HISTOR08->FECHA=Ct:FF .AND. HISTOR08->CODIGO=CT:CLI .AND. HISTOR08->NUMERO=CT:DR)))
HISTOR08->(ORDSCOPE(1,(HISTOR08->FECHA=Ct:FF .AND. HISTOR08->CODIGO=CT:CLI .AND. HISTOR08->NUMERO=CT:DR)))
HISTOR08->(DBGOTOP())
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:FILTRAR TEBROWSE

Publicado por Ramon Paredes (47 intervenciones) el 26/05/2010 05:53:33
Juan,

Usa indices condicionales funcionan perfectamente,

USE MIBASE
INDEX ON MIBASE->CAMPO1 + MIBASE->CAMPO2 WILE ( AQUI PONES LAS CONDICIONES DEL FILTRADO Y ZAS TE APARECE EN EL BROWSE SOLO LOS QUE CUMPLAN LA CONDICION WHILE DEL INDICE)

Saludes desde Managua, Nicaragua

Ramon Paredes
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