Jump to content
Fivewin Brasil

SetFilter, duvida ?


Ale SB

Recommended Posts

Bem Galera, deixando de lado as divergencias ocorridas nesta Sexta q ta pegando fogo(só podia ser na sexta mesmo, mas, assim eh bom, no final da tarde a Bramosas descem q descem, hehehe), vamos ao q interessa:

Quero apresentar em um browse somente os registros q apresentam a mesma data de Entrada(no caso eh um relatorio de cheques), seria mais rapido mandar os registros p/ um arq. auxiliar e depois chamar pelo Browse ou filtrar eles direto pelo browse ?

Como eu posso uso o setFilter() ?

@braços Ale

"Conhecimento, você não subtrai quando divide; mas soma e multiplica."

**---Mário Persona---**

Alessandro Seribeli Barreto

aleseribeli@hotmail.com Andradina - SP

FWh 2.4, xH80, xMate, WS, Pelles

Link to comment
Share on other sites

Bem Galera, deixando de lado as divergencias ocorridas nesta Sexta q ta pegando fogo(só podia ser na sexta mesmo, mas, assim eh bom, no final da tarde a Bramosas descem q descem, hehehe), vamos ao q interessa:

Quero apresentar em um browse somente os registros q apresentam a mesma data de Entrada(no caso eh um relatorio de cheques), seria mais rapido mandar os registros p/ um arq. auxiliar e depois chamar pelo Browse ou filtrar eles direto pelo browse ?

Como eu posso uso o setFilter() ?

@braços Ale

"Conhecimento, você não subtrai quando divide; mas soma e multiplica."

**---Mário Persona---**

Alessandro Seribeli Barreto

aleseribeli@hotmail.com Andradina - SP

FWh 2.4, xH80, xMate, WS, Pelles

Link to comment
Share on other sites

Bem Galera, deixando de lado as divergencias ocorridas nesta Sexta q ta pegando fogo(só podia ser na sexta mesmo, mas, assim eh bom, no final da tarde a Bramosas descem q descem, hehehe), vamos ao q interessa:

Quero apresentar em um browse somente os registros q apresentam a mesma data de Entrada(no caso eh um relatorio de cheques), seria mais rapido mandar os registros p/ um arq. auxiliar e depois chamar pelo Browse ou filtrar eles direto pelo browse ?

Como eu posso uso o setFilter() ?

@braços Ale

"Conhecimento, você não subtrai quando divide; mas soma e multiplica."

**---Mário Persona---**

Alessandro Seribeli Barreto

aleseribeli@hotmail.com Andradina - SP

FWh 2.4, xH80, xMate, WS, Pelles

Link to comment
Share on other sites

Olá,

Bom e rápido mesmo é o SQLFILTER(). Mas aí é só para sacanear. Eu não gosto do set filter. Costuma ficar algum registro que não obece à condição e se o arquivo for grande fica muito lento. Acho que o melhor é mesmo criar um arquivo apenas com os dados que precisa.

[]s,

Evandro G. de Paula

Curvelo - MG

evandro@skillnet.com.br (Escr. - na Cidade)

imortal@skillnet.com.br (Res. - na Roça)

FWH 2.6+PellesC+MyMake+xHarbour.org 0.99.5+SqlLib

Link to comment
Share on other sites

se vc usa dbf e cdx pode usar o scope que é bem rápido e muito eficiente

ordscope(0,"10/02/2006")

ordscope(1,"10/02/2006")

go top

espero ter ajudado

Um Grande Abraço

Alessandro F. Silva

aferracini@terra.com.br

FW2.0d + CL53b + Blinker 7.0 + @Say @Get

MSN: ferracini_silva@hotmail.com

Ninguém cometeu maior erro do que aquele que não fez nada só porque podia fazer muito pouco.

Link to comment
Share on other sites

LOCAL cDataIni := CTOD( " / / " )

LOCAL cDataFin := CTOD( " / / " )

Faça o ORDSCOPE pegá-las dos GET's.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe

Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris:

assinatchris.gif

Link to comment
Share on other sites

Valeu galera ,vou por em pratica as dicas, brigadao!!!!!

@braços Ale

"Conhecimento, você não subtrai quando divide; mas soma e multiplica."

**---Mário Persona---**

Alessandro Seribeli Barreto

aleseribeli@hotmail.com Andradina - SP

FWh 2.4, xH80, xMate, WS, Pelles

Link to comment
Share on other sites

citação:

Esse comando ordscope() não funciona no harbour não né ?

Aloizio Lima

suporteas@hotmail.com

BH - MG

Fwh 2.5, harbour 43.0 (flex), borland c++ 5.5, WS 4.5


id=quote>id=quote>

NO HARBOUR EU NÃO SAY... NO FIVEWIN 2.7 FOR [X]HARBOUR 0.99.60 FERRARI VERMELHINHA, FUNCIONA PERFEITAMENTE. É CLIPPER!! DEVE FUNCIONAR EN HARBOUR TAMBÉM.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

FWH 2.7 - xHARBOUR 0.99.50 / 0.99.51 - WorkShop.Exe

Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris:

assinatchris.gif

Link to comment
Share on other sites

Deu certo galera, rodou blzinha, eu testei com um arq. pequeno (1.300 registros), realmente eh rapido, vou testar com uns arq. maiores.

citação:Oi Ale, desculpe estar caindo de navio na conversa, mas se você utilizar o OrdScope não esqueça de fecha-lo, já tive problemos por causa disso.

ARQ->(OrdScope(0,NIL))

ARQ->(OrdScope(1,NIL))

Até mais,

Valter


id=quote>id=quote>

Valeu pela Dica Valter.

citação:Eu testei no FWH 2.5 e não funcionou

Aloizio Lima

suporteas@hotmail.com

BH - MG

Fwh 2.5, harbour 43.0 (flex), borland c++ 5.5, WS 4.5


id=quote>id=quote>

Com o Fwh 2.4 e o xH80, que eh minha configuraçao, compilou e rodou blz, Aloizio, pq vc nao usa o xH da versao do seu FW?

citação:Olá,

Bom e rápido mesmo é o SQLFILTER().


id=quote>id=quote>

Olá Evandro, Nao esquenta q um dia eu chego lá, hehehe.

Por hora, fico agradecido com a ajuda de vcs, galera!!!!!

@braços Ale

"Conhecimento, você não subtrai quando divide; mas soma e multiplica."

**---Mário Persona---**

Alessandro Seribeli Barreto

aleseribeli@hotmail.com Andradina - SP

FWh 2.4, xH80, xMate, WS, Pelles

Link to comment
Share on other sites

select 1

set order to 4 && Criei ordem de Admissão apenas para testar

ordscope(0,"01/01/2005")

ordscope(1,"31/12/2005")

go top

@ 00,01 say clistname of odlg

@ 01,01 LISTBOX oLbx fields Nome,dtoc(Admissao) header "Nome","Admissao" size 380,210 fieldsizes 250,70 of odlg

Não teria que mostrar apenas os admitidos em 2005 ?

Aloizio Lima

suporteas@hotmail.com

BH - MG

Fwh 2.5, harbour 43.0 (flex), borland c++ 5.5, WS 4.5

Link to comment
Share on other sites

citação:

select 1

set order to 4 && Criei ordem de Admissão apenas para testar

ordscope(0,"01/01/2005")

ordscope(1,"31/12/2005")

go top

@ 00,01 say clistname of odlg

@ 01,01 LISTBOX oLbx fields Nome,dtoc(Admissao) header "Nome","Admissao" size 380,210 fieldsizes 250,70 of odlg

Não teria que mostrar apenas os admitidos em 2005 ?

Aloizio Lima

suporteas@hotmail.com

BH - MG

Fwh 2.5, harbour 43.0 (flex), borland c++ 5.5, WS 4.5


id=quote>id=quote>

INDEX O ARQUIVO PELA DATA, E CHAME APONTANDO COMO NO EXEMPLO ANTERIOR.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

FWH 2.7 - xHARBOUR 0.99.60 - WorkShop.Exe

Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris:

assinatchris.gif

Link to comment
Share on other sites

veja que para usar o ordsecope o indice tem que estar, pelo menos, com o primeiro tag: exemplo:

index on data tag data

ordscope(0,"12/12/1212")

ordscope(1,"12/12/1212")

errado

index on dupl+dtos(data) tag dupl

ordscope(0,"12/12/1212")

ordscope(1,"12/12/1212")

id=red>

teria que ser assim

index on dupl+dtos(data) tag dupl

ordscope(0,"000001"+"12/12/1212")

ordscope(1,"000001"+"12/12/1212")

id=blue>

espero ter elucidado

Um Grande Abraço

Alessandro F. Silva

aferracini@terra.com.br

FW2.0d + CL53b + Blinker 7.0 + @Say @Get

MSN: ferracini_silva@hotmail.com

Ninguém cometeu maior erro do que aquele que não fez nada só porque podia fazer muito pouco.

Link to comment
Share on other sites

use cadastro alias cadastro

index on Admissao to temp

cadastro->(ordscope(0,"01/01/2005"))

cadastro->(ordscope(1,"31/12/2005"))

go top

@ 00,01 say clistname of odlg

@ 01,01 LISTBOX oLbx fields Nome,dtoc(Admissao) header "Nome","Admissao" size 380,210 fieldsizes 250,70 of odlg

ASSIM CONTINUA NÃO FUNCIONANDO, OU SEJA PESSOAS COM ADMISSÃO INFERIOR A 01/01/2005 CONTINUAM APARECENDO !!!

Aloizio Lima

suporteas@hotmail.com

BH - MG

Fwh 2.5, harbour 43.0 (flex), borland c++ 5.5, WS 4.5

Link to comment
Share on other sites

Paulo, realmente funciona agora, eu tava vacilando na falta do ctod(), porque na verdade minha filtragem é cheia de detalhes e vem funcionando bem com o SET FILTER, mas como o pessoal tem comentando sobre o ORDSCOPE e confesso que não conhecia, fiz um exemplo baseado no exemplo do início desse tópico, mas o importante é que agora funcionou beleza, obrigado a todos pela paciência, mas é que eu tinha que ver esse troço funcionando no computador, não era possível.

Aloizio Lima

suporteas@hotmail.com

BH - MG

Fwh 2.5, harbour 43.0 (flex), borland c++ 5.5, WS 4.5

Link to comment
Share on other sites

Outra coisa,

Qdo se indexa por data, use sempre o DTOS(Data), pois aí irá colocar a data tipo assim :

DtoS("01/01/2005") = "20050101"

DtoS("31/12/2005") = "20051231"

Se colocar somente a data, irá dar o problema que o Paulo falow icon_smile_big.gif, só que o meu problema foi um outro, mas dá quase no mesmo, pois colocando somente a data "pura", todos os dias 01 não importa o ano estarão em primeiro icon_smile_wink.gif

Vagner Wirts

Clipper 5.2 Lib 5.3 - Blinker 5.0 FW 2.0, Harbour 43.0 (Flex), xHarbour 99.1 99.2 99.3 (Simplex) FW 2.5 icon_smile_big.gif

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...