Adoquery não consigo somar

SQL

Delphi

09/10/2018

Olá amigos, tenho uma adoquery ligada em uma tabela do access

quero fazer a soma das entradas de um período específico, e separando por item.

Por exemplo, a soma do campo valor para todos os itens de id 1 que foram vendidos no período de xx/xx/xxxx a yy/yy/yyyy

Fiz assim:

AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('Select Sum(Valor) as Expr1');
AdoQuery1.SQL.Add('from entradas');
AdoQuery1.SQL.Add('where data between : '+DateToStr(Datetimepicker1.Date)+ ' and :' +DateToStr(Datetimepicker2.Date)+ ' and IdTipoEntrada IN(1)');
AdoQuery1.Open;


Só que sempre dá erro, dizendo que os parâmetros são insuficientes. Alguém pode dar uma força?
Edilson Santiago

Edilson Santiago

Curtidas 0

Respostas

Natanael Ferreira

Natanael Ferreira

09/10/2018

Faça um teste com o código abaixo:
var
  D1, D2: TDateTime;
begin
  D1 := DateTimePicker1.DateTime;
  D2 := DateTimePicker2.DateTime;

  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select Sum(Valor) as Expr1 from entradas');
  ADOQuery1.SQL.Add('where data >= :dtIni and data <= :dtFim and IdTipoEntrada = :id');
  ADOQuery1.Parameters.ParamByName('dtIni').Value := D1;
  ADOQuery1.Parameters.ParamByName('dtFim').Value := D2;
  ADOQuery1.Parameters.ParamByName('id').Value := 1;
  ADOQuery1.Open;
end;
GOSTEI 0
POSTAR