Fórum Consulta com Filtro em TDateTimePicker #563218
28/09/2016
0
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
+ 0Post mais votado
29/09/2016
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.
Gostei + 2
Mais Posts
05/10/2016
Alan Junior
Sql Parse Error: EOF in string detected.
Desde já grato pela atenção.
Gostei + 0
05/10/2016
Eduardo Silva.
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.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)