Fórum filtro entre datas - sentença sql #183944

24/09/2003

0

Srs, estou tentando em uma consulta, obter os registros de acordo com uma determinada data, mas nas linhas do ´parambyname´ (codigo abaixo), o delphi, me retorna as mensagens: ´Undeclared identifier: ´parambyname´´ ´Missing operator or semicolon´. Gostaria de saber de vcs qual é o erro que estou comentendo.

with dmdados.qremessa do
dmdados.qremessa.close;
dmdados.qremessa.sql.Clear;
dmdados.qremessa.sql.Add(´Select * from clientes,bordero´);
dmdados.qremessa.sql.add(´where status = ´a enviar´ and clientes.cod_cli=bordero.cod_cli order by bordero.emissao´);
dmdados.qremessa.sql.add(´+bordero.emissao >=:data1 and bordero.emissao <=:data2´);
dmdados.qremessa.parambyname(´data1´).AsDateTime:=data_inicial.date;
dmdados.qremessa.parambyname(´data2´).AsDateTime:=data_final.date;
dmdados.qremessa.open;


Programalista

Programalista

Responder

Posts

24/09/2003

Bampavao

Se código ficará assim...

with dmdados.qremessa do
dmdados.qremessa.close;
dmdados.qremessa.sql.Clear;
dmdados.qremessa.sql.Add(´Select * from clientes,bordero´);
dmdados.qremessa.sql.add(´where status = ´a enviar´ and clientes.cod_cli=bordero.cod_cli order by bordero.emissao´);
dmdados.qremessa.sql.add(´+bordero.emissao >=:data1 and bordero.emissao <=:data2´);
dmdados.qremessa.PARAMETERS.parambyname(´data1´).AsDateTime:=data_inicial.date;
dmdados.qremessa.PARAMETERS.parambyname(´data2´).AsDateTime:=data_final.date;
dmdados.qremessa.open;


Responder

Gostei + 0

24/09/2003

Arc

Estranhei o sinal de + nesta linha

dmdados.qremessa.sql.add(´+bordero.emissao >=:data1 and bordero.emissao <=:data2´);

Data_inicial.date e data_final.date já são valores do tipo data ?????


Responder

Gostei + 0

24/09/2003

Cbritojunior

Verifique a propriedade Parameter do DataSet que vc está usando e certifique-se que ambas as datas estejam definidas como ftDataTime.
Essa pode ser a causa do seu problema


Responder

Gostei + 0

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

Aceitar