Problema com ORDER BY DATA

Delphi

22/07/2015

Bom dia. Seguinte no cód abaixo esta perfeito funcionando normalmente por um detalhe.
quando o relatorio é gerado as datas não estão na ordem. ( datas em vermelho na img ).

Eu uso um ibquery pra fazer a conexao com o bando de dados e um rave report pra gerar relatorio.

[img]http://arquivo.devmedia.com.br/forum/imagem/443678-20150722-112558.png[/img]

procedure TForm1.BitBtn24Click(Sender: TObject);
begin
form1.ibQuery2.Close;
form1.ibQuery2.SQL.Clear;

form1.ibQuery2.SQL.Add('Select * From servico');
form1.ibQuery2.SQL.Add('Where DATA_SERV>=:inicio');
form1.ibQuery2.SQL.Add('and DATA_SERV<=:fim');
form1.ibQuery2.SQL.Add('and Status=:Stat');


form1.IBQuery2.SQL.Add('ORDER BY DATA');



form1.ibQuery2.ParamByname('inicio').asdatetime:=strtodate(Edit126.text);
form1.ibQuery2.ParamByname('fim').asdatetime:=strtodate(Edit104.text);
form1.ibQuery2.ParamByname('Stat').asstring:=(edit151.text);

form1.ibQuery2.Open;

IF bitbtn24.Caption = 'GERAR' THEN
BEGIN

RVEPROJECTNF.SetParam('DATAS',  'DATA '+ Edit126.Text + ' A ' + Edit104.Text);
RVEPROJECTNF.SetParam('PG5',  'RELATÓRIO FECHAMENTO CAIXA - PAGO');
Form1.RVEPROJECTNF.Execute;
Form1.RVEPROJECTNF.ClearParams;

end;
Bruno

Bruno

Curtidas 0

Respostas

Rodrigo Martins

Rodrigo Martins

22/07/2015

Ja tentou apagar esse paramento depois do execute?
uso o rave report tbm , faço diversas consultas para mostrar uns dados parecidos com o seu tbm !
GOSTEI 0
Jothaz

Jothaz

22/07/2015

Tente executar a query diretamente no SQL e verifique se funciona, assim você garante que o problema não esta na query.
GOSTEI 0
Lourival Rocha

Lourival Rocha

22/07/2015

Bom dia colegas!

Não sei se posso fazer isso em posts (pois sou novo no DevMedia), mas aproveitando o post do amigo, dêem uma atenção pois esse erro esta me tirando o sono...

Estou com um erro aparentemente com o QuickReport.

https://www.devmedia.com.br/forum/erro-com-quickreport-delphi-7/526562



Muito obrigado!!!
GOSTEI 0
Raimundo Pereira

Raimundo Pereira

22/07/2015

Boa tarde,


Percebi que você informa dois campos DATA.

('Where DATA_SERV>=:inicio')

form1.IBQuery2.SQL.Add('ORDER BY DATA');


CASO SEJA O MESMO CAMPO TENTE form1.IBQuery2.SQL.Add('ORDER BY DATA_SERV');
GOSTEI 0
POSTAR