Ola Clippeiros!!!
Estou com precisando de uma pesquisa rapida em rede, o set filter (descartavel)
Algem poderia me ajudar!!!
Ex: Foi feita vendas no mês para um certo cliente cod: 0010 no mês seguinte ele vem acertar, eu queria digitar o codigo dele e so aparecer ele para dar baixa ou ver total de compra no mês.
Desde já agradeco sua atancao
Consulta rapida na rede
Moderador: Moderadores
-
Marcelo Guazi
- Usuário Nível 1

- Mensagens: 10
- Registrado em: 23 Set 2004 17:28
- Contato:
Caro amigo,
acho que a forma mais rápida para vc fazer isto é criando um INDICE com a chave que deseja pesquisar, neste caso o código do cliente.
Tendo o índice criado, basta vc posionar no inicio e ler só o cliente.
Exemplo
USE CLIENTES INDEX CLICOD SHARED ALIAS CLIENTES NEW
@ 10,10 say "Código : " GET WCOD
READ
seek WCOD
if eof() .or. CLIENTE(campo do arquivo) # wcod ---> nao existe nada para este cliente
exit
endif
Faz o resto q tem que fazer....
Espero ter ajudado.
Marcelo.
acho que a forma mais rápida para vc fazer isto é criando um INDICE com a chave que deseja pesquisar, neste caso o código do cliente.
Tendo o índice criado, basta vc posionar no inicio e ler só o cliente.
Exemplo
USE CLIENTES INDEX CLICOD SHARED ALIAS CLIENTES NEW
@ 10,10 say "Código : " GET WCOD
READ
seek WCOD
if eof() .or. CLIENTE(campo do arquivo) # wcod ---> nao existe nada para este cliente
exit
endif
Faz o resto q tem que fazer....
Espero ter ajudado.
Marcelo.
- Marcos
- Usuário Nível 3

- Mensagens: 355
- Registrado em: 20 Set 2003 09:16
- Localização: Cáceres/Mato Grosso
Opção.
Uma vez eu estava com este mesmo problema, o mestre Maligno deu uma aula pra mim, que por sinal ajudou mais pessoas aqui no fórum, eu uso indices NSX, portanto a SIX tém um filtro chamado sx_setscope() que é uma espécie de Set Filter melhorada, eu precisava de filtrar Itens de Vendas, ou seja, em uma determinada venda, separar quais itens se referia aquela venda, para resolver meu problema fiz assim:
INDEX ON CODIGO_SAI TAG 1 FOR !DELETED()
DBSETINDEX("ITENVEND")
Select ITENVEND
DbSetOrder(6) //Ordem de indexação acima.
sx_setscope(0, xcod_cli) //Código do Cliente informado.
sx_setscope(1, xcod_cli)
Depois de filtrar o cliente desejado aí sim uso o set filter para detalhar mais as exigências, o Maligno usou um termo na época que seria quase que "... instantaneo" e realmente foi mesmo, minha pesquisa ficou assim, porreta.
Set Filter To AJUSTE == "-" .and. Ctod(DATA_SAIDA) >= Ctod(xDataIni) .AND. Ctod(DATA_SAIDA) <= Ctod(xdataFin)
Goto Top
Não sei se fui claro, e também correto, mas está pode ser uma opção, que pra mim deu certo.
Abraços,
Marcos
Da Roça.
INDEX ON CODIGO_SAI TAG 1 FOR !DELETED()
DBSETINDEX("ITENVEND")
Select ITENVEND
DbSetOrder(6) //Ordem de indexação acima.
sx_setscope(0, xcod_cli) //Código do Cliente informado.
sx_setscope(1, xcod_cli)
Depois de filtrar o cliente desejado aí sim uso o set filter para detalhar mais as exigências, o Maligno usou um termo na época que seria quase que "... instantaneo" e realmente foi mesmo, minha pesquisa ficou assim, porreta.
Set Filter To AJUSTE == "-" .and. Ctod(DATA_SAIDA) >= Ctod(xDataIni) .AND. Ctod(DATA_SAIDA) <= Ctod(xdataFin)
Goto Top
Não sei se fui claro, e também correto, mas está pode ser uma opção, que pra mim deu certo.
Abraços,
Marcos
Da Roça.