filtro entre datas - sentença sql
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;
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
Curtidas 0
Respostas
Bampavao
24/09/2003
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;
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;
GOSTEI 0
Arc
24/09/2003
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 ?????
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 ?????
GOSTEI 0
Cbritojunior
24/09/2003
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
Essa pode ser a causa do seu problema
GOSTEI 0