Como gerar relatório com intervalo de datas
01/04/2003
0
Minha dúvida é o seguinte: Estou fazendo um programa de tele-mensagens, gostaria de gerar um relatório das mensagens enviadas e das mensagens pendentes. Tenho um form que contem 2 maskedit, um para a data inicial e outro para a data final, onde a pessoa vai colocar de quando até quando ela vai kerer consultar, tenho um botão, contendo o seguinte código:
procedure TForm_ConRelEnv.Button2Click(Sender: TObject);
begin
Data1:=StrToDate(DtInicial.Text);
Data2:=StrToDate(DtFinal.Text);
QR_Aniver1.Close;
QR_Aniver1.SQL.Clear;
QR_Aniver1.SQL.Text:= ´Select * from Aniver1 WHERE CONF BETWEEN :DtInicial AND :DtFinal order by NASC´;
QR_Aniver1.ParamByName(´DtInicial´).Value:=Data1;
QR_Aniver1.ParamByName(´DtFinal´).Value:=Data2;
QR_Aniver1.Open;
end;
Campo CONF=data do envio
1ª Dúvida= gostaria de acrescentar um critério (and TD=1), só q está dando erro. TD=1(se sexo for masc) TD=0(se sexo fem).
2ª Dúvida= não estou sabendo fazer o relatório. Coloquei um quick report, com uma query e um DataSource, juntamente com Title, ColumnHeader, Details, PageFooter Band.
Como fazer para quando clicar em gerar arquivo(Button) o relatório abra com o resultado da consulta feita na procedure acima.
Agradeço muito quem puder me ajudar, eu só posso contar com vcs, pois estou programando só com ajuda de vcs. Brigadão.
Abc, Vivian
procedure TForm_ConRelEnv.Button2Click(Sender: TObject);
begin
Data1:=StrToDate(DtInicial.Text);
Data2:=StrToDate(DtFinal.Text);
QR_Aniver1.Close;
QR_Aniver1.SQL.Clear;
QR_Aniver1.SQL.Text:= ´Select * from Aniver1 WHERE CONF BETWEEN :DtInicial AND :DtFinal order by NASC´;
QR_Aniver1.ParamByName(´DtInicial´).Value:=Data1;
QR_Aniver1.ParamByName(´DtFinal´).Value:=Data2;
QR_Aniver1.Open;
end;
Campo CONF=data do envio
1ª Dúvida= gostaria de acrescentar um critério (and TD=1), só q está dando erro. TD=1(se sexo for masc) TD=0(se sexo fem).
2ª Dúvida= não estou sabendo fazer o relatório. Coloquei um quick report, com uma query e um DataSource, juntamente com Title, ColumnHeader, Details, PageFooter Band.
Como fazer para quando clicar em gerar arquivo(Button) o relatório abra com o resultado da consulta feita na procedure acima.
Agradeço muito quem puder me ajudar, eu só posso contar com vcs, pois estou programando só com ajuda de vcs. Brigadão.
Abc, Vivian
Viviankb
Curtir tópico
+ 0
Responder
Posts
01/04/2003
Emersonmychel
Oi Vivian,
A sua instrução está fora de orde, experimente assim:
QR_Aniver1.SQL.Add(´Select * from Aniver1´);
Qr_Aniver1.SQL.Add(´Where Conf Between :DtInicial and :DtFinal´);
QR_Aniver1.SQL.Add(´and TD = 1´);
QR_Aniver1.SQL.Add(´Order by Nasc´);
QR_aniver1.ParamByName(´DtInicial´).value:=Data1;
QR_Aniver1.ParamByName(´DtFinal´).Value:=Data2;
QR_Aniver1.Open;
Quanto ao Relatório voce não vai prescisar de um DataSource, pois o QReport é ligado pela propriedade DataSet, A mesma instrução que voce escreveu para a consulta deve ser usada para executar o relatório, voce pode repetir no outro botão ou utilizar a Query anterior para o relatório.
Espero te-la ajuado. Qualquer duvida mande um e-mail.
Emerson Mychel :)
ememychel@ig.com.br
A sua instrução está fora de orde, experimente assim:
QR_Aniver1.SQL.Add(´Select * from Aniver1´);
Qr_Aniver1.SQL.Add(´Where Conf Between :DtInicial and :DtFinal´);
QR_Aniver1.SQL.Add(´and TD = 1´);
QR_Aniver1.SQL.Add(´Order by Nasc´);
QR_aniver1.ParamByName(´DtInicial´).value:=Data1;
QR_Aniver1.ParamByName(´DtFinal´).Value:=Data2;
QR_Aniver1.Open;
Quanto ao Relatório voce não vai prescisar de um DataSource, pois o QReport é ligado pela propriedade DataSet, A mesma instrução que voce escreveu para a consulta deve ser usada para executar o relatório, voce pode repetir no outro botão ou utilizar a Query anterior para o relatório.
Espero te-la ajuado. Qualquer duvida mande um e-mail.
Emerson Mychel :)
ememychel@ig.com.br
Responder
Clique aqui para fazer login e interagir na Comunidade :)