Problema com IBX ou Firebird ou SQL

Delphi

30/01/2004

Olá pessoal, estou com um problema aqui. O banco de dados é FireBird e a paleta de acesso é a IBX(IBDataSet).

O problema é: Monto uma query dinaminca através de checkboxs, porém quando o checkbox da data é selecionado e a query executada, os registros nao aparecem na dbgrid, tenho certeza que tem registros la para aquela data porque existe uma outra query para fazer o COUNT e o SUM. Bem, eu sei que esse problema ta acontecendo porque eu coloquei o ORDER BY na query que mostra o resultado..se alguém tiver alguma solução por favor me diga. Lembrando: Eu presciso do Order By senao os registros ficam todos baguncados.

Procedimento que monta a query:

procedure TfmConsultaLavagens.btnExecutarClick(Sender: TObject);
Var
QTD : Byte;
begin
inherited;
quResultado.Close;
quTotal.Close;
quResultado.SelectSQL.Clear;
quTotal.SelectSQL.Clear;
quResultado.SelectSQL.Add(´SELECT * FROM LAVAGENS´);
quTotal.SelectSQL.Add(´SELECT COUNT(CODLAVAGEM), SUM(Valor) FROM LAVAGENS´);
QTD:=0;
If (cbxUnidade.Checked) or (cbxTipo.Checked) or (cbxData.Checked) Then
Begin
quResultado.SelectSQL.Add(´WHERE´);
quTotal.SelectSQL.Add(´WHERE´);
End;
If cbxUnidade.Checked Then
Begin
If QTD > 0 Then
Begin
quResultado.SelectSQL.Add(´AND´);
quTotal.SelectSQL.Add(´AND´);
End;
quResultado.SelectSQL.Add(´CODUNIDADE=´+quUnidadesCODUNIDADE.AsString);
quTotal.SelectSQL.Add(´CODUNIDADE=´+quUnidadesCODUNIDADE.AsString);
QTD:=QTD+1;
End;
If cbxTipo.Checked Then
Begin
If QTD > 0 Then
Begin
quResultado.SelectSQL.Add(´AND´);
quTotal.SelectSQL.Add(´AND´);
End;
quResultado.SelectSQL.Add(´CODTIPO=´+quTipoLavagensCODTIPO.AsString);
quTotal.SelectSQL.Add(´CODTIPO=´+quTipoLavagensCODTIPO.AsString);
QTD:=QTD+1;
End;
If cbxData.Checked Then
Begin
If QTD > 0 Then
Begin
quResultado.SelectSQL.Add(´AND´);
quTotal.SelectSQL.Add(´AND´);
End;
quResultado.SelectSQL.Add(´DATA >= :DtInicio AND DATA <= :DtFim´);
quResultado.Params[0].AsDate:=DtInicio.Date;
quResultado.Params[1].AsDate:=DtFim.Date;
quTotal.SelectSQL.Add(´DATA >= :DtInicio AND DATA <= :DtFim´);
quTotal.Params[0].AsDate:=DtInicio.Date;
quTotal.Params[1].AsDate:=DtFim.Date;
End;
quResultado.SelectSQL.Add(´ORDER BY CODLAVAGEM´);
quResultado.Open;
quTotal.Open;
end;


Drakkar

Drakkar

Curtidas 0

Respostas

Drakkar

Drakkar

30/01/2004

Pessoal da uma ajuda aí.. ainda nao consegui resolver..


GOSTEI 0
POSTAR