cláusula where não funciona p/ relatório consulta SQL

09/12/2003

1

Olá,

Estou usando o Quick Report no Delphi 7 com dbExpress. Relacionei o relatorio c/ uma Query e quando dou um preview no relatório consigo visalizar perfeitamente os dados de acordo c/ minha consulta SQL. Mas quando rodo o programa, na hora de dar o preview ocorre um erro na minha consulta: ´column unknown ...(nome do campo)... ´. Já percebi que não importa qual campo seja, esse erro ocorre sempre no campo que vem após a cláusula where. Se eu não utilizar a cláusula o erro não ocorre. Acontece que eu preciso utilizá-la.

Aqui está o código:
procedure TfrmPesquisa.btnRelatoClick(Sender: TObject);
begin
(* Preview Relatório *)
If not Assigned(frmRelatorio) then
frmRelatorio := TfrmRelatorio.Create(Application);

frmRelatorio.Prepare;

with dtmSaida.SQLQuery3, SQL do begin
Close;
Clear;

Add(´Select S.DOCUMENTO, P.NMPRODUTO, T.NMDEPTO,´+
´ S.DATASAIDA from PRODUTO P, DEPTO T, SAIDA S,´+
´ DADOSSAIDA D where (P.IDGRUPO = D.IDGRUPO) AND´+
´ (D.IDPRODUTO = P.IDPRODUTO) AND (S.IDDEPTO = T.IDDEPTO)´);

ExecSql;
Active:= true;
frmRelatorio.Preview;
end;
end

Usando join funciona, mas eu precisarei usar a cláusula WHERE de qq maneira.

Add(´Select S.DOCUMENTO, P.NMPRODUTO, T.NMDEPTO,´+
´ S.DATASAIDA from PRODUTO P, DEPTO T join´+
´ DADOSSAIDA D on P.IDGRUPO = D.IDGRUPO and´+
´ D.IDPRODUTO = P.IDPRODUTO join SAIDA S on´+
´ S.IDDEPTO = T.IDDEPTO´);

Alguém poderia me ajudar?

Obrigada,


Responder

Posts

09/12/2003

Murilocr

Já tentou substituir o conteúdo que você passa para a query ao invés de adicionar?
Acho que resolve.


Responder

09/12/2003

Marcela_m

Oi ...

Como substituir? Eu limpo a Query e adiciono.

Como seria?


Responder

09/12/2003

Anorex

Como é um select ao invés de vc utilizar o ExecSQL, utilize OPEN.


Responder

09/12/2003

Marcela_m

Olá....

Sim...eu já estou utilizando Open....mas mesmo assim não funciona

Obrigada,


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira