Intervalo de datas
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 e bom final de semana a todos.
carlos[/b]
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 e bom final de semana a todos.
carlos[/b]
Caleonel
Curtidas 0
Respostas
Álison Bissoli
23/10/2009
Certifique-se de que o tipo da sua banda que exbirá os dados no quick report seja do tipo qrdetail, caso contrário, exibirá somente o registro em que esteja o ponteiro.
http:\\garotodesktop.blogspot.com
http:\\garotodesktop.blogspot.com
GOSTEI 0