Consulta com Filtro em TDateTimePicker
28/09/2016
0
Boa Noite meus Caros, venho incomodá-los novamente.
Estou tendo grande perca de tempo com um projeto em que tenho que fazer uma consulta com intervalo de datas entre "TDateTimePicker", mas não estou tendo sucesso.
O código que estou usando é o seguinte:
Utilizo Delphi + Firebird 2.5.
Grato desde já.
Estou tendo grande perca de tempo com um projeto em que tenho que fazer uma consulta com intervalo de datas entre "TDateTimePicker", mas não estou tendo sucesso.
O código que estou usando é o seguinte:
strsql:=' select tblcdsite0.iditem, (tblcdsite0.nomepro),tblmvmfat0.idempresa, '; Strsql:=strsql+'(select sum( tblmvmite0.qtde ) sum_of_qtde from tblmvmite0 inner join tblmvmfat0 on (tblmvmite0.idfatent = tblmvmfat0.idfatent)'; strsql:=strsql+'where ((tblmvmfat0.entsai = ''E'' and tblmvmite0.iditem in ('+Edit1.text+')and tblmvmfat0.dtemissao between '+DTP1+' and '+DTP2+' AND TBLMVMFAT0.idempresa ='+Edit1.Text+' AND tblmvmfat0.idcoi in ('+edit2.text+'))))Quantidade_entrada,'; Strsql:=strsql+'(select sum( tblmvmite0.qtde ) sum_of_qtde from tblmvmite0 inner join tblmvmfat0 on (tblmvmite0.idfatent = tblmvmfat0.idfatent)'; strsql:=strsql+'where ((tblmvmfat0.entsai = ''S'' and tblmvmite0.iditem in ('+Edit1.text+')and tblmvmfat0.dtemissao between '+DTP1+' and '+DTP2+' AND TBLMVMFAT0.idempresa ='+Edit1.Text+' AND tblmvmfat0.idcoi in ('+edit2.text+'))))Quantidade_saida,'; strsql:=strsql+' sum(tblmvmite0.qtde) QTDE,(select sum( tblmvmite0.qtde ) sum_of_qtde from tblmvmite0 '; strsql:=strsql+' inner join tblmvmfat0 on (tblmvmite0.idfatent = tblmvmfat0.idfatent) '; strsql:=strsql+' where ((tblmvmfat0.entsai = ''E'' and tblmvmite0.iditem in ('+Edit2.Text+')and tblmvmfat0.dtemissao between '+DTP1+' and '+DTP2+' AND tblmvmfat0.idcoi in ('+Edit3.Text+'))))- '; strsql:=strsql+' (select sum( tblmvmite0.qtde ) sum_of_qtde from tblmvmite0 inner join tblmvmfat0 on (tblmvmite0.idfatent = tblmvmfat0.idfatent) '; strsql:=strsql+' where ((tblmvmfat0.entsai = ''S'' and tblmvmite0.iditem in ('+Edit2.Text+')and tblmvmfat0.dtemissao between '+DTP1+' and '+DTP2+' AND tblmvmfat0.idcoi in ('+Edit3.Text+'))))as SALDO '; strsql:=strsql+' from tblmvmfat0 inner join tblmvmite0 on (tblmvmfat0.idfatent = tblmvmite0.idfatent)'; strsql:=strsql+' inner join tblcdsite0 on (tblmvmite0.iditem = tblcdsite0.iditem) '; strsql:=strsql+' where tblcdsite0.iditem in ('+Edit2.Text+') AND tblmvmfat0.idcoi in ('+Edit3.Text+') and tblmvmfat0.entsai IN (''E'')and tblmvmfat0.dtemissao between '+DTP1+' and '+DTP2+' '; strsql:=strsql+' And tblmvmfat0.idempresa in ('+Edit1.Text+') group by tblcdsite0.iditem, tblmvmfat0.idcoi, tblcdsite0.nomepro, tblmvmfat0.idempresa, SALDO ';
Utilizo Delphi + Firebird 2.5.
Grato desde já.
Alan Junior
Curtir tópico
+ 0
Responder
Post mais votado
29/09/2016
O campo tipo Date do Firebird utiliza o formato padrão americano (yyyy-mm-dd), então você vai ter que fazer a conversão
via código no Delphi, exemplo utilizando dois DateTimePicker:
'Select * From SuaTabela Where DATA_EMISSAO Between ' +
QuotedStr(FormatDateTime('yyyy-mm-dd', DateTimePicker1.Date)) + ' And ' +
QuotedStr(FormatDateTime('yyyy-mm-dd', DateTimePicker2.Date));
[sds]
Eduardo Belo
e-mail: beloelogica@gmail.com
via código no Delphi, exemplo utilizando dois DateTimePicker:
'Select * From SuaTabela Where DATA_EMISSAO Between ' +
QuotedStr(FormatDateTime('yyyy-mm-dd', DateTimePicker1.Date)) + ' And ' +
QuotedStr(FormatDateTime('yyyy-mm-dd', DateTimePicker2.Date));
[sds]
Eduardo Belo
e-mail: beloelogica@gmail.com
Eduardo Silva.
Responder
Mais Posts
05/10/2016
Alan Junior
Olá, boa tarde Eduardo Belo. Conforme instrução, fiz exatamente o descrito. Porem ao realizar a consulta, retornou o seguinte erro:
Sql Parse Error: EOF in string detected.
Desde já grato pela atenção.
Sql Parse Error: EOF in string detected.
Desde já grato pela atenção.
Responder
05/10/2016
Eduardo Silva.
Olá, boa tarde Eduardo Belo. Conforme instrução, fiz exatamente o descrito. Porem ao realizar a consulta, retornou o seguinte erro:
Sql Parse Error: EOF in string detected.
Desde já grato pela atenção.
Sql Parse Error: EOF in string detected.
Desde já grato pela atenção.
Observe que utilizei o QuotedStr com o componente TDateTimePicker, faça o mesmo com o componente TEdit e veja se continua dando esse erro.
Responder
Clique aqui para fazer login e interagir na Comunidade :)