GARANTIR DESCONTO

Fórum Passagem de parametro consulta sql #525852

15/07/2015

0

Olá pessoal estou tentando usar um edit para multiplicar por um valor para gerar uma comissão. Mas ele me informa o seguinte erro "invalid data type for multiplication". Meu edit possui um valor assim como exemplo : 1,07

Código:
query5.Active := False;
Query5.SQL.Clear;
Query5.SQL.Add('select cd.codfuncionario,cd.nome,sum(os.comissao),(sum(os.comissao)* :pComiAju) from osexecc os');
Query5.SQL.Add('inner join osfecha oe on (oe.codos = os.codos and os.codempresa = oe.codempresa)');
Query5.SQL.Add('inner join cadfunc cd on (cd.codfuncionario = os.codfuncionario)');
Query5.SQL.Add('where oe.dtencerramento >= "'+maskedit1.Text+'" and oe.dtencerramento <= "'+maskedit2.Text+'"') ;
Query5.SQL.Add('group by cd.codfuncionario,cd.nome');
Query5.ParamByName('pComiAju').AsFloat := StrToFloat(edit4.Text);
Query5.Active := True;
form3.QuickRep1.Preview;
button1.Enabled:=false;

alguem pode ajudar?
Guilhermelacerda

Guilhermelacerda

Responder

Posts

17/07/2015

Dorivan Sousa

o separador de decimal é ponto e nao virgula.

ai vc usa um componente pra valores monetarios a JVCL tem alguns. ou vc pode fazer um stringreplace pra colocar um ponto no lugar da virgula

...
Query5.ParamByName('pComiAju').AsFloat := StrToFloat(stringreplace(edit4.Text,',','.',[rfReplaceAll]);
..
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar