AYUDA FILTROS,SCOPES ME ESTAN VOLVIENDO LOCO

Post Reply
Databaselab2002
Posts: 142
Joined: Sun Oct 09, 2005 1:36 am

AYUDA FILTROS,SCOPES ME ESTAN VOLVIENDO LOCO

Post 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
Jaime Irurzun
Posts: 6
Joined: Thu Oct 06, 2005 8:01 pm

Post 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.
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: AYUDA FILTROS,SCOPES ME ESTAN VOLVIENDO LOCO

Post 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
User avatar
jlcapel
Posts: 229
Joined: Wed Oct 12, 2005 5:32 pm
Location: Valencia - España
Contact:

Post 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
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Post 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
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Post 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
User avatar
jlaguilars
Posts: 15
Joined: Tue Oct 25, 2005 3:48 pm
Location: Tabasco, México

Post 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
User avatar
jlcapel
Posts: 229
Joined: Wed Oct 12, 2005 5:32 pm
Location: Valencia - España
Contact:

Post by jlcapel »

José Luis,

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

Saludos,
José Luis Capel
www.capelblog.com
User avatar
Vagner
Posts: 31
Joined: Wed Oct 26, 2005 12:45 pm
Location: São Paulo-Brasil

Post 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
Abraços
Vagner Wirts
São Paulo-Brasil
Post Reply