Relatório com intervalo de datas

26/10/2009

Estou tentando fazer um relatório de pacientes com intervalos de datas usando o datetimepicker. Nos foruns achei o seguinte código:

procedure Tfrmrelpaciente.SpeedButton1Click(Sender: TObject);
var
inicio, fim :string;
begin
if DateTimePicker2.Date < DateTimePicker1.Date Then
begin
Application.MessageBox('Intervalo de datas inválido, a data inicial é maior que a data final!', 'Aviso',
MB_ICONWARNING +0);
DateTimePicker2.Date := DateTimePicker1.Date;
end

else
inicio:= datetostr(datetimepicker1.Date);
fim:= datetostr(datetimepicker2.Date);
dmprincipal1.qconsultagrup.Close;
dmprincipal1.qconsultagrup.SQL.Clear;
dmprincipal1.qconsultagrup.SQL.Text:= 'SELECT COD_PAC, NOM_PAC, CPF_PAC, DT_CAD_PAC, DT_NASC_PAC FROM PACIENTE WHERE DT_CAD_PAC between :pinicial and :pfinal Order by NOM_PAC ASC';
dmprincipal1.qconsultagrup.Parameters.ParamByName('pinicial').Value := strtodate(inicio);
dmprincipal1.qconsultagrup.Parameters.ParamByName('pfinal').Value := strtodate(fim);
dmprincipal1.qconsultagrup.Open;

frmrelanual.QRelatorio.Preview
end;

No formulario QuickReport o dataset é a tabela o a Query? e os QDBRText?

Pois tanto faz ser um como outro. No formulario aparece somente um registro e recordcount acusa 5 registros.

Abraços Carlos

Carlos Leonel

Respostas

28/12/2009

Evaristo Neto

Verifique em qual banda vc colocou os registros
[]´s
Evaristo
Responder Citar

28/12/2009

Martins

Amigo, aparentemente seu código está certo, teste usando um DBGrid para ter certeza.   Outra coisa, como o outro colega mencionou, em qual aba vc está colocando os QRDBText? QRDetail?   Boa sorte e bons códigos.
Responder Citar