Ajuda com Relatório, melhor performance
Estou com o seguinte problema :
Tenho que fazer um Relatório de Vendas de uma semana ou seja o usuario ira escolher a data exata de inicio de uma semana (domingo) e será listado todas as vendas de domingo a segunda desta semana.
Eu havia feito da seguinte forma :
Com uma Stored Procedure havia feito um for select pegando o cod. do produto de todos os produtos vendidos no periodo todo e dentro deste for passando produto a produto com mais 7 select secundarios um para cada dia da semana para pegar o valor de cada dia o problema é que por causa da grande quantidade de dados o relatorio se tornou extremamente lento ....
alguem conhece algum meio de melhorar essa performance ou algum outro meio de fazer issu ????
Estou usando Delphi 5 e FB 1.5.
Tenho que fazer um Relatório de Vendas de uma semana ou seja o usuario ira escolher a data exata de inicio de uma semana (domingo) e será listado todas as vendas de domingo a segunda desta semana.
Eu havia feito da seguinte forma :
Com uma Stored Procedure havia feito um for select pegando o cod. do produto de todos os produtos vendidos no periodo todo e dentro deste for passando produto a produto com mais 7 select secundarios um para cada dia da semana para pegar o valor de cada dia o problema é que por causa da grande quantidade de dados o relatorio se tornou extremamente lento ....
alguem conhece algum meio de melhorar essa performance ou algum outro meio de fazer issu ????
Estou usando Delphi 5 e FB 1.5.
Tadeuaraujo
Curtidas 0
Respostas
Fer_nanda
21/05/2004
Acredito q tenha sim uma maneira bem mais fácil e rápida para vc fazer essa busca, quais são as tabelas relacionadas para gerar esse relatório?
GOSTEI 0
Maicongabriel
21/05/2004
SELECT * FROM TABELAVENDAS WHERE DATAVENDA BETWEEN DATAINICIO AND DATAFIM
DATAVENDA = Campo da tabela TABELAVENDAS que conteria o dia da venda
DATAINICIO e DATAFIM = Os dias inicial e final da semana
E é só isso, já que você se negou a passar mais informações sobre a tabela e o seu problemas! :roll:
[i:ad80d135e3]Visto que estou sem a minha bola de cristal... =p[/i:ad80d135e3]
GOSTEI 0
Tadeuaraujo
21/05/2004
Uma tabela com os movimentos (cada venda), uma com todos os itens de cada venda , principalmente sao essas....
GOSTEI 0
Fer_nanda
21/05/2004
Eu faria duas procedures..
A primeira trazendo todas as vendas da tabela movimentos naquele periodo de datas.
E uma segunda, q traria os ítens de cada venda da tabela.
Acho q ficaria até mais fácil para apresentar em seu relatório, vc pode usar uma banda detail para os dados da venda e uma subdetail ligado na 2º sp.
Espero ter ajudado
Até
A primeira trazendo todas as vendas da tabela movimentos naquele periodo de datas.
E uma segunda, q traria os ítens de cada venda da tabela.
Acho q ficaria até mais fácil para apresentar em seu relatório, vc pode usar uma banda detail para os dados da venda e uma subdetail ligado na 2º sp.
Espero ter ajudado
Até
GOSTEI 0
Fer_nanda
21/05/2004
Esqueci de falar...
vc precisa tratar... enquanto não for o fim da 1º sp,
e para cada linha de retorno dela, execute a 2ª passando o parametro (´codigo_venda´) para a 2º.
Até
vc precisa tratar... enquanto não for o fim da 1º sp,
e para cada linha de retorno dela, execute a 2ª passando o parametro (´codigo_venda´) para a 2º.
Até
GOSTEI 0