Bom dia para todos
Pessoal estou precisando saber como faço para filtrar os dados em um DBF para emitir um relatório.
Este relatório vai ser emitido em rede, portando dois ou mais usuários podem emitir o mesmo simultaneamente
qual a melhor maneiro de fazer isso?
Ouvi dizer já sobre indexar somente os dados necessários para o relatório....
isso funciona? como proceder?
Obrigado
Piter Galdiano
Filtrando dados
Moderador: Moderadores
-
PITERGALDIANO
- Usuário Nível 2

- Mensagens: 91
- Registrado em: 28 Nov 2003 08:48
Prezado Piter
Para criar um indice filtrado use as cláusulas FOR e WHILE do comando INDEX, você deverá usar uma das duas ou ambas, depende de como você irá querer o filtro.
Essas cláusulas estão presentes nas versões 5.2 e 5.3 do Clipper.
Se você utiliza a Six2 ou a Six3 terá ainda mais e melhores opção para filtragem, porém para filtragens simples o INDEX funciona perfeitamente.
Até logo.
Marcelo
Para criar um indice filtrado use as cláusulas FOR e WHILE do comando INDEX, você deverá usar uma das duas ou ambas, depende de como você irá querer o filtro.
Essas cláusulas estão presentes nas versões 5.2 e 5.3 do Clipper.
Se você utiliza a Six2 ou a Six3 terá ainda mais e melhores opção para filtragem, porém para filtragens simples o INDEX funciona perfeitamente.
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
-
PITERGALDIANO
- Usuário Nível 2

- Mensagens: 91
- Registrado em: 28 Nov 2003 08:48
Lá vai...
INDEX ON NOMEPROD FOR PRECO>=100.00 .AND. PRECO<=500.00
Neste caso seria criado um indice com todos os produtos com preco maior ou igual a 100,00 e menor ou igual a 500,00 , ordenados por NOME DO PRODUTO
INDEX ON CODIGO FOR NOMEPROD>="A" .AND. NOMEPROD<"B"
Neste caso seria gerado um indice com todos os produto começados com a letra A, ordenados por CODIGO
INDEX ON ESTOQUE FOR NOMEPROD>="A" .AND. NOMEPROD<"B"
Neste caso seria gerado um indice com todos os produto começados com a letra A, ordenados por QUANTIDADE EM ESTOQUE
Até logo.
Marcelo
INDEX ON NOMEPROD FOR PRECO>=100.00 .AND. PRECO<=500.00
Neste caso seria criado um indice com todos os produtos com preco maior ou igual a 100,00 e menor ou igual a 500,00 , ordenados por NOME DO PRODUTO
INDEX ON CODIGO FOR NOMEPROD>="A" .AND. NOMEPROD<"B"
Neste caso seria gerado um indice com todos os produto começados com a letra A, ordenados por CODIGO
INDEX ON ESTOQUE FOR NOMEPROD>="A" .AND. NOMEPROD<"B"
Neste caso seria gerado um indice com todos os produto começados com a letra A, ordenados por QUANTIDADE EM ESTOQUE
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
-
marcos.gurupi
- Usuário Nível 4

- Mensagens: 939
- Registrado em: 06 Jul 2004 11:53
- Localização: Gurupi-TO
Caro, sempre tive problemas para filtrar dados no inicio (bem no inicio) usei o set filter, mas como vc sabe ele n eh confiavel e deveria ser banido do clipper, depois comecei a utilizar indices temporarios, no inicio parecia q havia solucionado tudo, mas como eu abro todos os arquivos no inicio isso estava causando problemas nos indices principais do sistema, soh consegui solucionar criando uma funcao q criava arq. dbf temporarios e depois eu poderia fazer o q quizer com esses arq. tipo criar indices ou editar neles. Ok! Entaum resumindo se vc abrir todos os arq. no inicio n eh confiavel criar indices temporarios. Valeu!!
Marcos Roberto.
Marcos Roberto.
