Fórum Erro quando uso função agregada sql #288166
15/07/2005
0
Boa noite!
No momento desenvolvo um aplicativo, usando o Delphi 7.0 e o Rave para
os relatórios, porém sempre que coloco uma função agregada no código
SQL do editor de código do Delphi, o sistema apresenta uma mensagem
avisando que houve uma violação de acesso no módulo MSJET40.DLL. Caso
eu retire a função, como por exemplo a ´sum´, o erro desaparece.
Quando coloco o código SQL na propriedade SQl do Adoquery, não ocorre erro
algum, abaixo descrevo o código que inseri na unit:
try
if not ADOConexao.Connected then
ADOConexao.Open;
if QryProdMaisVendAgencia.Active then
QryProdMaisVendAgencia.Close;
with QryProdMaisVendAgencia do
begin
sql.Clear;
sql.add(´SELECT TbIVenda.CodIvenda, TbIVenda.NomeIVenda,
Sum(TbVenda.Quantidade) ´);
sql.add(´,TbOrgao.NomeOrgao ´);
sql.add(´FROM TbOrgao INNER JOIN(TbIVenda INNER JOIN TbVenda ON
TbIVenda.CodIvenda = TbVenda.CodIVenda) ON TbOrgao.CodOrgao =
TbVenda.CodOrgao ´);
sql.add(´where TbOrgao.CodTipoOrgao < 3 and TbVenda.CodOrgao =
:prmcodorgaoag´);
sql.Add(´and tbvenda.data <= :prmdatafin and tbvenda.data >=
:prmdataini ´);
sql.add(´GROUP BY TbIVenda.CodIvenda, TbIVenda.NomeIVenda,
TbOrgao.NomeOrgao;´);
parameters.ParamByName(´prmcodorgaoag´).Value:=DblAgencia.KeyValue;
Parameters.ParamByName(´prmdataini´).Value:=FormatDateTime(´dd/mm/yyyy´
,dtpdataIni.Date);
Parameters.ParamByName(´prmdatafin´).Value:=FormatDateTime(´dd/mm/yyyy´
,dtpdataFin.Date);
open;
end;
except on E: Exception do
Mensagem.ErroAcessoBD(E.Message);
end;
RvProjProdMaisVendAgencia.Execute;
Desde já agradeço a atenção prestada e torço para a solução desse
problema crítico!
Atenciosamente
Carlos Eduardo
No momento desenvolvo um aplicativo, usando o Delphi 7.0 e o Rave para
os relatórios, porém sempre que coloco uma função agregada no código
SQL do editor de código do Delphi, o sistema apresenta uma mensagem
avisando que houve uma violação de acesso no módulo MSJET40.DLL. Caso
eu retire a função, como por exemplo a ´sum´, o erro desaparece.
Quando coloco o código SQL na propriedade SQl do Adoquery, não ocorre erro
algum, abaixo descrevo o código que inseri na unit:
try
if not ADOConexao.Connected then
ADOConexao.Open;
if QryProdMaisVendAgencia.Active then
QryProdMaisVendAgencia.Close;
with QryProdMaisVendAgencia do
begin
sql.Clear;
sql.add(´SELECT TbIVenda.CodIvenda, TbIVenda.NomeIVenda,
Sum(TbVenda.Quantidade) ´);
sql.add(´,TbOrgao.NomeOrgao ´);
sql.add(´FROM TbOrgao INNER JOIN(TbIVenda INNER JOIN TbVenda ON
TbIVenda.CodIvenda = TbVenda.CodIVenda) ON TbOrgao.CodOrgao =
TbVenda.CodOrgao ´);
sql.add(´where TbOrgao.CodTipoOrgao < 3 and TbVenda.CodOrgao =
:prmcodorgaoag´);
sql.Add(´and tbvenda.data <= :prmdatafin and tbvenda.data >=
:prmdataini ´);
sql.add(´GROUP BY TbIVenda.CodIvenda, TbIVenda.NomeIVenda,
TbOrgao.NomeOrgao;´);
parameters.ParamByName(´prmcodorgaoag´).Value:=DblAgencia.KeyValue;
Parameters.ParamByName(´prmdataini´).Value:=FormatDateTime(´dd/mm/yyyy´
,dtpdataIni.Date);
Parameters.ParamByName(´prmdatafin´).Value:=FormatDateTime(´dd/mm/yyyy´
,dtpdataFin.Date);
open;
end;
except on E: Exception do
Mensagem.ErroAcessoBD(E.Message);
end;
RvProjProdMaisVendAgencia.Execute;
Desde já agradeço a atenção prestada e torço para a solução desse
problema crítico!
Atenciosamente
Carlos Eduardo
Carlos Dias
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)