Quick Report está lento
08/07/2008
0
Quando ele imprimi um relatorio, e ai em seguida quando vai pedir o outro relatorio, ele começa a ficar lento...
o computador do meu cliente não é tão lento e nem tão rapido, mas na hora que pede para imprimir ele demora de 3 a 4 minutos só para gerar o relatorio, mas quando testo em caso ele não fica lento, mas isso acotence só de vez em quando.
Esse relatorio é feito em tempo de execução.
Ex.:
<<< Antes de criar o relatorio em faço a sql>>> Aplication.CreateForm (TRelatorio, Relatorio); Relatorio.Preview; FreeandNil(Relatorio);
Por favor fico aguardando resposta!
Robinhocne
Posts
08/07/2008
Daykas
Qual a configuração do micro do seu cliente e qual a impressora que ele usa? o sistema operacional tb.
manda ai
08/07/2008
Robinhocne
08/07/2008
Altingon
Iniciar -> executar-> Command entre e digite digite: net use lpt1(ou outro numero) \\usuario\nomedaimpressora
Veja se resolve.
08/07/2008
Robinhocne
o problema e quando vou vizualizar, pois para imprimir ele imprimi rapido.
09/07/2008
Bolacha
09/07/2008
Robinhocne
Application.CreateForm(TRHonorario,RHonorario); DmDados.TbConfigura.Open; RHonorario.QrEmpresa.Caption:=DmDados.TbConfiguraEMPRESA.AsString; if FileExists(DmDados.TbConfiguraLOGO.AsString) then begin RHonorario.QrLogo.Picture.LoadFromFile(DmDados.TbConfiguraLOGO.AsString); end; DmDados.TbConfigura.Close; RHonorario.QrTitulo.Caption :=´Relatório de Honorários - ´+ComboBox1.Text; RHonorario.QrPeriodo.Caption:=´Periodo: ´+Dt_Inicial.Text + ´ a ´+Dt_Final.Text+´ - ´+ComboBox2.Text; RHonorario.QrDespesa.Caption:=´Despesa: ´+eDespesa.Text + ´ - ´+PDespesa.Caption; RHonorario.QrCredor.Caption:=´Credor: ´+ECredor.Text + ´ - ´+PCredor.Caption; TbRelReceber.Close; // sql.. e filtros TbRelReceber.SelectSQL.Clear; TbRelReceber.SelectSQL.Add(´SELECT CODI_REC||´+#39+´/´+39+ ´||PARC_REC AS DOCUMENTO, HIST_REC, EMIS_REC,VALO_REC, DTPG_REC, DESC_REC, (PAGO_REC+AMOR_REC) AS PAGO,´); TbRelReceber.SelectSQL.Add(´JURO_REC,VENC_REC,(VALO_REC+JURO_REC) as TOTAL,´); TbRelReceber.SelectSQL.Add(´CRED_REC, PESSOAS.NOME_PES, DESP_REC, DESC_DES, ´); TbRelReceber.SelectSQL.Add(´(CASE WHEN DTPG_REC IS NULL THEN´); TbRelReceber.SelectSQL.Add(´CASE WHEN CURRENT_DATE>VENC_REC THEN (CURRENT_DATE-VENC_REC)´); TbRelReceber.SelectSQL.Add(´ELSE 0 END ELSE´); TbRelReceber.SelectSQL.Add(´CASE WHEN VENC_REC>DTPG_REC THEN (VENC_REC-DTPG_REC)´); TbRelReceber.SelectSQL.Add(´ELSE 0 END END) AS "ATRASO"´); TbRelReceber.SelectSQL.Add(´FROM HONORARIO INNER JOIN PESSOAS ON CODI_PES = CRED_REC´); TbRelReceber.SelectSQL.Add(´INNER JOIN DESPESAS ON CODI_DES = DESP_REC´); // filtro da data If ComboBox2.ItemIndex = 0 then begin TbRelReceber.SelectSQL.Add(´where emis_rec BETWEEN :PDATA1 AND :PDATA2´); end else begin TbRelReceber.SelectSQL.Add(´where venc_rec BETWEEN :PDATA1 AND :PDATA2´); end; // tipo de conta If ComboBox1.ItemIndex = 0 then begin TbRelReceber.SelectSQL.Add(´and dtpg_rec is null´); end else if ComboBox1.ItemIndex = 1 then begin TbRelReceber.SelectSQL.Add(´and dtpg_rec is not null´); end; // filtro cliente if eDespesa.Value>0 then begin TbRelReceber.SelectSQL.Add(´and desp_rec = ´+eDespesa.Text); end; if ECredor.Value>0 then begin TbRelReceber.SelectSQL.Add(´and cred_rec = ´+ECredor.Text); end; TbRelReceber.SelectSQL.Add(´ORDER BY CRED_REC,1´); TbRelReceber.ParamByName(´PDATA1´).AsDate:=Dt_Inicial.Date; TbRelReceber.ParamByName(´PDATA2´).AsDate:=Dt_Final.Date; TbRelReceber.Open; RHonorario.Preview; FreeAndNil(RHonorario); TbRelReceber.Close; ActiveControl:=ComboBox1;
Clique aqui para fazer login e interagir na Comunidade :)