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


Viviankb

Viviankb

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


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar