Quick Report está lento
Bom dia pessoal, estou com problema em um cliente meu!
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.:
Por favor fico aguardando resposta!
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
Curtidas 0
Respostas
Daykas
08/07/2008
Prezado amigo! na sua casa e no seu cliente as condições são as mesmas, digo: em um lugar é local e no outro é via rede, etc..
Qual a configuração do micro do seu cliente e qual a impressora que ele usa? o sistema operacional tb.
manda ai
Qual a configuração do micro do seu cliente e qual a impressora que ele usa? o sistema operacional tb.
manda ai
GOSTEI 0
Robinhocne
08/07/2008
o sistema operacional é o mesmo, mas o problema é na hora de vizualizar, pois a impressora está em rede que está instalada em um pc que tem o windows 98, mas é só na hora de vizualizar
GOSTEI 0
Altingon
08/07/2008
Tente adicionar a impressora a uma porta lpt
Iniciar -> executar-> Command entre e digite digite: net use lpt1(ou outro numero) \\usuario\nomedaimpressora
Veja se resolve.
Iniciar -> executar-> Command entre e digite digite: net use lpt1(ou outro numero) \\usuario\nomedaimpressora
Veja se resolve.
GOSTEI 0
Robinhocne
08/07/2008
[b:877a346e1b]mas o problema não é na hora de imprimir[/b:877a346e1b]
o problema e quando vou vizualizar, pois para imprimir ele imprimi rapido.
o problema e quando vou vizualizar, pois para imprimir ele imprimi rapido.
GOSTEI 0
Bolacha
08/07/2008
Cara provavelmente é alguma rotina no beforeprint do relatorio ou de alguma banda.
GOSTEI 0
Robinhocne
08/07/2008
esse é o codigo fonte:
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;
GOSTEI 0