Clipper On Line • Ver Tópico - set filter

set filter

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

set filter

Mensagempor Alessandro » 10 Fev 2005 17:52

Caros Colegas,

Existe algum set filter mais rápido no xHarbour com Minigui?
Pois estou usando o set filter normalmente e estou achando lendo, utilizo NTX.
Qual seria a melhor solução? usar CDX?
Alessandro
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 137
Data de registro: 07 Jul 2004 09:39
Cidade/Estado: Santo Antonio da Platina-PR
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor Antonio » 10 Fev 2005 19:44

Ola Alessandro,

Voce pode tentar o CDX, existem afirmações a cerca de um ganho de aproximadamente 30% em relação ao NTX.

Voce pode ainda utilizar-se de uma outra técnica de filtragem...

WHILE FOR <CONDIÇÃO>....
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Avatar de usuário

Antonio
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 344
Data de registro: 14 Ago 2003 17:33
Cidade/Estado: Sao Paulo - SP
Curtiu: 2 vezes
Mens.Curtidas: 11 vezes

Mensagempor Alessandro » 11 Fev 2005 08:41

Olá Francisco...

Como poderia utilizar o While For na seguinte condição;

No browse faço o filtro conforme é alterado o valor de um text-box,

Por exemplo eu filtro os produtos de um determinado fornecedor, dessa forma:


Function UpDate009()

Select Produtos
Produtos->(DbSetOrder(1))
Produtos->(dbSeek(Form_009.Txt_CodFor.Value))
set filter to Produtos->CGC_FORN == Form_009.Txt_CodFor.Value
go top
Form_009.Brow_009.Value := Recno()

return


Se puder ma ajudar, agradeço.
Alessandro
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 137
Data de registro: 07 Jul 2004 09:39
Cidade/Estado: Santo Antonio da Platina-PR
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor Antonio » 11 Fev 2005 09:20

É Antonio Alessandro!

Bom dia!


Select Produtos

Produtos->(dbSeek(Form_009.Txt_CodFor.Value))
While for Produtos->CGC_FORN == Form_009.Txt_CodFor.Value .and. !eof()
end
go top
Form_009.Brow_009.Value := Recno()

return
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Avatar de usuário

Antonio
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 344
Data de registro: 14 Ago 2003 17:33
Cidade/Estado: Sao Paulo - SP
Curtiu: 2 vezes
Mens.Curtidas: 11 vezes

Mensagempor Alessandro » 11 Fev 2005 10:56

Antonio

Dá erro no código, o que pode ser?

Se coloco a comparação entre parenteses ele interperta o FOR como se fosse uma função, se não ele não reconhece o alias.

Outra coisa, deu certo sobre o AUTOEXEC.NT


Valeu
Alessandro
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 137
Data de registro: 07 Jul 2004 09:39
Cidade/Estado: Santo Antonio da Platina-PR
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor Antonio » 11 Fev 2005 12:42

Ola Alessandro,

Queira me desculpar...

Na realidade a sugestão é que voce construa um indice temporario, somente com o filtro desejado, entende?


If file("indice.cdx")
Erase Indice.cdx
INDEX ON Produtos->CGC_FORN TAG 1 WHILE Produtos->CGC_FORN == Form_009.Txt_CodFor.Value .and. !eof() TO "Indice.CDX"

go top
Form_009.Brow_009.Value := Recno()

Observe que utilizo o RDDCDX

Assim voce cria um indice somente com o conteudo filtrado.

Quanto ao autoexec.nt, baixei o MIcrosoft AntiSpyWare, rodei e foram detectadas 69 praguinhas....

Parece estar tudo bem agora.

Obrigado.
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Avatar de usuário

Antonio
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 344
Data de registro: 14 Ago 2003 17:33
Cidade/Estado: Sao Paulo - SP
Curtiu: 2 vezes
Mens.Curtidas: 11 vezes

Mensagempor vagucs » 15 Fev 2005 23:16

Antonio escreveu:É Antonio Alessandro!

Bom dia!

Select Produtos

Produtos->(dbSeek(Form_009.Txt_CodFor.Value))
While for Produtos->CGC_FORN == Form_009.Txt_CodFor.Value .and. !eof()
end
go top
Form_009.Brow_009.Value := Recno()

return


Use esta opção do antonio para jogar as informações para um listbox ou mesmo um data grid ou banco de dados temporario e depois atualize no servidor os dados.
Sem mais
Wagner Nunes
www.vagucs.com.br
Avatar de usuário

vagucs
Membro Master

Membro Master
 
Mensagens: 1466
Data de registro: 10 Jul 2004 10:45
Cidade/Estado: Ipanema - MG
Curtiu: 1 vez
Mens.Curtidas: 19 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 10 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro