Soma na Sql não funciona
04/12/2005
0
Paulo
Posts
05/12/2005
Emerson Nascimento
if rgRela.ItemIndex = 0 then begin with Dm2.SumVenda do begin Dm2.cdsSumVenda.Close; close; Sql.Text:=´select data_venda,sum(valor) as total from venda_itens ´+ ´where data_venda between :d1 and :d2 ´+ ´group by data_venda´; ParamByName(´d1´).AsDate := edIni.Date; ParamByName(´d2´).AsDate := EDfIM.Date; Open; /**** repare nessa linha ****/ Dm2.cdsSumVenda.Open; /**** antes você abria somente o Dm2.SumVenda, e agora está abrindo o Dm2.cdsSumVenda, da mesma forma que é feito na query abaixo ****/ end; with Dm2.ConsVenda do begin Dm2.cdsConsVenda.Close; close; CommandText:=´select numvenda,clie,data_venda,vendedor,forma_pag,nome_forma,´+ ´plano_pag,valor from venda_itens ´+ ´where data_venda between :d1 and :d2 ´+ ´group by numvenda,clie,data_venda,vendedor,forma_pag,´+ ´nome_forma,plano_pag,valor´; ParamByName(´d1´).AsDate := edIni.Date; ParamByName(´d2´).AsDate := EDfIM.Date; Open; Dm2.cdsConsVenda.Open; end; end;
uma dica: se o seu parâmetro é do tipo data, utilize-o diretamente como tal.
eu sugiro ainda que você faça as manipulações somente no ClientDataset. Altere a opção poAllowCommandText da propriedade Options do seu DatasetProvider para True. Assim você poderá manipular a instrução diretamente no ClientDataset. Supondo que isso seja feito, bastaria usar assim:
if rgRela.ItemIndex = 0 then begin with Dm2.cdsSumVenda do begin close; CommandText := ´select data_venda,sum(valor) as total from venda_itens ´+ ´where data_venda between :d1 and :d2 ´+ ´group by data_venda´; Params.ParamByName(´d1´).AsDate := edIni.Date; Params.ParamByName(´d2´).AsDate := EDfIM.Date; Open; end; with Dm2.cdsConsVenda do begin close; CommandText := ´select numvenda,clie,data_venda,vendedor,forma_pag,nome_forma,´+ ´plano_pag,valor from venda_itens ´+ ´where data_venda between :d1 and :d2 ´+ ´group by numvenda,clie,data_venda,vendedor,forma_pag,´+ ´nome_forma,plano_pag,valor´; Params.ParamByName(´d1´).AsDate := edIni.Date; Params.ParamByName(´d2´).AsDate := EDfIM.Date; Open; end; end;
05/12/2005
Paulo
05/12/2005
Paulo
05/12/2005
Emerson Nascimento
infelizmente não poderei ajudar.
06/12/2005
Paulo
Clique aqui para fazer login e interagir na Comunidade :)