Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   el reporte anterior no se borra en Fastreport (https://www.clubdelphi.com/foros/showthread.php?t=82072)

novato_erick 23-01-2013 18:09:08

el reporte anterior no se borra en Fastreport
 
Hola Chicos como están?

Una Consulta:

Sucede que realizo mi reporte de un empleado sus horas laboradas y al hacerlo por primera vez no tengo problema el asunto es que al generar el mismo reporte con otro empleado abre el reporte pero con el empleado anterior consultado con la nueva consulta y así sucesivamente...

he buscado y buscado y nada encuentro... trate destruyendo el formulario pero nada..

Este es mi codigo de generar el reporte:

Código Delphi [-]
procedure TfrmReportes.btnGenerarClick(Sender: TObject);
var
  Reporte: string;
   begin
    Reporte := trim((edtCedula.Text));
     if Reporte = '' then
      begin
       ShowMessage('Favor Digite un Número de Cédula');
      end
        else
         begin
             dmStoreProcedure.spConsultaCedula.Params.ParamByName('CEDULA').AsString := edtCedula.Text;
             dmStoreProcedure.spConsultaCedula.ExecProc;
             id_emplReport := dmStoreProcedure.spConsultaCedula.Params.ParamByName('ID').AsInteger;
                  begin
                    with dmReportes.qReporteshoy do
                     begin
                       close;
                       ParamByName('id').AsInteger := id_emplReport;
                       open;
                    end;
                      begin
                         dmReportes.frReportes.PrepareReport(false);
                     end;
                end;
    edtCedula.Text := '';
    lblCedula.Visible := false;
    edtCedula.Visible := false;
    btnGenerar.Visible := false;
    dmReportes.frReportes.ShowpreparedReport;
   end;
end;


Alguna idea para solucionarlo?


Saludos


novato_erick

maeyanes 23-01-2013 20:23:35

Hola...

Por lo que veo, el reporte se encuentra en un DataModule, así que aunque destruyas el formulario, el reporte sigue en memoria, por lo que al volver a usarlo sigue manteniendo los datos con el que se imprimió la primera vez.

FastReport debe tener un método en la clase TfxReport para reiniciar el reporte antes de imprimirlo de nuevo. Solo llama ese método antes de imprimir el reporte para que se genere de nuevo.


Saludos...

novato_erick 23-01-2013 20:40:31

El reporte Anterior no se borra en FastReport Solucionado
 
Hola maeyanes

Tenias Razón con respecto a la utilización de los métodos en FastReport

lo puse en esta fracción de mi código:

Código Delphi [-]

                      begin
                         dmReportes.frReportes.PrepareReport(True); // Antes Estaba en False ahora lo puse True
                     end;

con esto solucione mi problema rápidamente. Agradezco enormemente tu ayuda...


Saludos

novato_erick


La franja horaria es GMT +2. Ahora son las 20:00:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi