Page 1 of 1

AYUDA FILTROS,SCOPES ME ESTAN VOLVIENDO LOCO

Posted: Wed Nov 30, 2005 3:08 am
by Databaselab2002
Quiero hacer un scope y dentro del mismo filtrar hasta ahora
el scope me funciona perfecto, lo que no me funciona es
el filter que en vez de hacerlo sobre el scope los hace
sobre la dbf entera y me tarda un tiempo enorme ya que
son 500000 registros, si alguien me puede orientar
que estoy haciendo mal. o tiene algun ejemplo sencillo
Utilizo indices cdx simples sin tags


desde ya muchisimas gracias
databaselab2002@yahoo.com


#include "FiveWin.ch"
#include "ord.ch"


//----------------------------------------------------------------------------//

function Main()


request dbfcdx // requerimento dos indices CDX
rddsetdefault("dbfcdx")
dbsetdriver("dbfcdx")

USE MD
set index to MDL
Set scope TO "ALICIA","ALICIA"
SET FILTER to "ZUC"$MD->PER_NOMBRE
DBGOTOP()






***********************************************************

LIST PER_NOMBRE,LOC_DESCRI en clipper me funciona
Browse() Fivewin no me funciona me filtra la base total
* USE

return nil

Posted: Fri Dec 09, 2005 12:52 am
by Jaime Irurzun
Hola,

Aparentemente creo que debería funcionar, pero por si acaso prueba a meter un dbGoTop() después del Scope y antes del filtro.

Re: AYUDA FILTROS,SCOPES ME ESTAN VOLVIENDO LOCO

Posted: Fri Dec 09, 2005 5:07 pm
by Francisco Horta
databaselab2002,

yo quiero hacer lo mismo, tengo una dbf con cdx indexado por fecha, hago un scope por rango de fechas y todo ok, pero si uso un filtro para dentro de ses rango mostrar ciertos registros, NO ME FUNCIONA, me lee toda la dbf, ya puse gotop antes y despues y naaa
creo que no hay solucion, estoy pensadno barrer la dbf con los scope y meter en un array los de la 2da condicion y ponerlo en otro browse..
Salu2
Paco

Posted: Fri Dec 09, 2005 5:26 pm
by jlcapel
Francisco,

¿Y por que no te creas una función que genere el filtro a pelo sobre un índice CUSTOM?

Es prácticamente igual de rápido que un SetFilter y tienes la eficacia de un tag más en tu índice (o lo haces aparte, en un IDX por ejemplo).

Saludos,
José Luis Capel

Posted: Fri Dec 09, 2005 10:25 pm
by Marcelo Via Giglio
Holas,

yo tengo eso funcionando con tablas ADT no he probado con DBFCDX, ademas utilizando los filtos de ADS

Solo comentario

Marcelo

Posted: Fri Dec 09, 2005 11:09 pm
by Francisco Horta
jose luis,
ya me quedo, use 2 tags diferentes, en el primero hago el filtro principal y en el segundo tag hago el filtro secundario, la llave del primero es: FECHA+EXTENSION y la del segundo es: EXTENSION+FECHA en el primero filtro el rango de fecha con todas las extension, y si me seleccionan alguna extension dentro de ese rango, cambio al segundo tag con las fecha seleccionadas, hago el scope nuevamente y listo !!
gracias a todos los que respondieron
Salu2

Posted: Fri Dec 09, 2005 11:57 pm
by jlaguilars
Perdon; es posible usar los indice tipo IDX en xHarbour?

Sí es afirmativo, me ahorrare mucho trabajo

Saludos

José Luis

jlcapel wrote:Francisco,

¿Y por que no te creas una función que genere el filtro a pelo sobre un índice CUSTOM?

Es prácticamente igual de rápido que un SetFilter y tienes la eficacia de un tag más en tu índice (o lo haces aparte, en un IDX por ejemplo).

Saludos,
José Luis Capel

Posted: Sat Dec 10, 2005 7:52 am
by jlcapel
José Luis,

Claro que se pueden usar índices IDX en (x)harbour!!

Saludos,
José Luis Capel
www.capelblog.com

Posted: Wed Dec 14, 2005 3:19 pm
by Vagner
Hola,
Se usa o xHarbour

USE MD
set index to MDL
Set scope TO "ALICIA","ALICIA"

DBGOTOP()

OrdWildSeek("*ZUC*")
Do Whil !Eof() .and. OrdWildSeek("*ZUC*",.T.)
LogFile("Teste.Log",{PER_NOMBRE })
Enddo