Fórum Erro - ´is not a valid floating point value´ #189695
20/10/2003
0
Uso Delphi 7 - FireBird e DBExpress e RXLIB
Estou fazendo uma inserção em uma tabela de mivimentação de produtos via SQL
através de parametros. Uso campos CurrencyEdit do RXLIB
quando o valor está 0(zero) da este erro
o codig e o seguinte
quando por exemplo o IPI, ICME... qualquer um e zero nda este erro porque ??
if vmvt = ´C´ then
Begin
With dm do
Begin
sqldpro.Close;
Dm.SQLdPro.CommandText:=
´INSERT INTO MOVENTPROD (ME_CODBAR, ME_FORNECE, ME_DATA, ME_NFISCAL,´+
´ME_NPEDIDO, ME_OPE, ME_MVT, ME_QTD, ME_VLR, ME_CUSTO, ME_VLO, ME_MFC, ME_MFV, ME_LUCRO1, ´+
´ME_VLRVISTA, ME_VLRPRAZO, ME_IPI, ME_ICMS, ME_ICME, ME_FRETE, ME_PERFRETE, ME_VTNF, ME_VTPRO,´+
´ME_VTPRO, ME_OUTRO, ME_VLRCOMPRA, ME_PRECO01, ME_PRECO02, ME_PRECO03 )´+
´VALUES (:codbar, :fornece, :data_hora, :NFISCAL, :NPEDIDO, :OPE, :MVT, :QTD, ´+
´:VLR, :CUSTO, :VLO, :MFC, :MFV, :LUCRO, :AVISTA, :APRAZO, :IPI, :ICMS, :ICME, :FRETE, :PERFRETE, :VTNF, ´+
´:VTPRO, :VTPRO, :OUTRO, :VLRCOMPRA, :PRECO01, :PRECO02, :PRECO03)´;
SQLdpro.ParamByName(´codbar´).AsString := edit4.Text;
SQLdpro.ParamByName(´FORNECE´).AsInteger := strtoint(edit1.Text);
SQLdpro.ParamByName(´data_hora´).asstring:=formatDatetime(´yyyy/mm/dd hh:mm:ss´,now);
SQLdpro.ParamByName(´Nfiscal´).AsString:=Edit3.Text;
SQLdpro.ParamByName(´Npedido´).AsString:=Edit2.Text;
SQLdpro.ParamByName(´OPE´).AsString:=vope;
SQLdpro.ParamByName(´MVT´).AsString:=vmvt;
SQLdpro.ParamByName(´QTD´).AsFloat:=strtocurr(currencyedit1.text);
SQLdpro.ParamByName(´VLR´).AsFloat:=strtocurr(currencyedit2.text);
SQLdpro.ParamByName(´CUSTO´).AsFloat:=strtocurr(currencyedit18.text);
vvlo := strtocurr(currencyedit18.text)*strtocurr(currencyedit1.Text);
SQLdpro.ParamByName(´VLO´).AsFloat:=VVLO;
SQLdpro.ParamByName(´MFC´).AsFloat:=strtocurr(currencyedit17.text);
// if strtocurr(currencyedit7.EditText)
vconver := currencyedit7.Text;
while (pos(ThousandSeparator,vconver)>0) do
delete(vconver,pos (ThousandSeparator,vconver),1);
vipi := strtofloat(vconver);
SQLdpro.ParamByName(´IPI´).AsCurrency:=vipi;
SQLdpro.ParamByName(´ICMS´).AsFloat:=strtocurr(currencyedit6.text);
SQLdpro.ParamByName(´ICME´).AsFloat:=strtocurr(currencyedit8.text);
sqldpro.ParamByName(´FRETE´).AsFloat:=strtocurr(currencyedit3.Text);
IF CheckBox1.Checked then
BEGIN
SQLdpro.ParamByName(´MFV´).AsFloat:=strtocurr(currencyedit13.text);
SQLdpro.ParamByName(´LUCRO´).AsFloat:=strtocurr(currencyedit10.text);
SQLdpro.ParamByName(´AVISTA´).AsFloat:=strtocurr(currencyedit16.text);
SQLdpro.ParamByName(´APRAZO´).AsFloat:=strtocurr(currencyedit23.text);
END;
IF CheckBox2.Checked then
BEGIN
SQLdpro.ParamByName(´MFV´).AsFloat:=strtocurr(currencyedit14.text);
SQLdpro.ParamByName(´LUCRO´).AsFloat:=strtocurr(currencyedit11.text);
SQLdpro.ParamByName(´AVISTA´).AsFloat:=strtocurr(currencyedit19.text);
SQLdpro.ParamByName(´APRAZO´).AsFloat:=strtocurr(currencyedit24.text);
END;
IF CheckBox3.Checked then
BEGIN
SQLdpro.ParamByName(´MFV´).AsFloat:=strtocurr(currencyedit15.text);
SQLdpro.ParamByName(´LUCRO´).AsFloat:=strtocurr(currencyedit12.text);
SQLdpro.ParamByName(´AVISTA´).AsFloat:=strtocurr(currencyedit20.text);
SQLdpro.ParamByName(´APRAZO´).AsFloat:=strtocurr(currencyedit25.text);
END;
Sqldpro.ParamByName(´PERFRETE´).AsFloat:=strtofloat(currencyedit5.Text);
sqldpro.ParamByName(´VTNF´).AsFloat:=strtofloat(currencyedit4.Text);
vvtpro := (strtofloat(currencyedit1.Text)*strtofloat(currencyedit2.Text));
sqldpro.ParamByName(´VTPRO´).AsFloat:=vvtpro;
sqldpro.ParamByName(´outro´).AsFloat:=strtofloat(currencyedit9.Text);
sqldpro.ParamByName(´VLRCOMPRA´).AsFloat:=strtofloat(currencyedit2.Text);
sqldpro.ParamByName(´PRECO01´).AsFloat:=strtofloat(currencyedit16.Text);
sqldpro.ParamByName(´PRECO02´).AsFloat:=strtofloat(currencyedit19.Text);
sqldpro.ParamByName(´PRECO03´).AsFloat:=strtofloat(currencyedit20.Text);
SQLdpro.ExecSQL;
//IF
//sqlxpro.Close;
//sqlxpro.CommandText:=´UPDATE PRODUTOS SET PDT_SALDO
modalresult:=-1;
Estou fazendo uma inserção em uma tabela de mivimentação de produtos via SQL
através de parametros. Uso campos CurrencyEdit do RXLIB
quando o valor está 0(zero) da este erro
o codig e o seguinte
quando por exemplo o IPI, ICME... qualquer um e zero nda este erro porque ??
if vmvt = ´C´ then
Begin
With dm do
Begin
sqldpro.Close;
Dm.SQLdPro.CommandText:=
´INSERT INTO MOVENTPROD (ME_CODBAR, ME_FORNECE, ME_DATA, ME_NFISCAL,´+
´ME_NPEDIDO, ME_OPE, ME_MVT, ME_QTD, ME_VLR, ME_CUSTO, ME_VLO, ME_MFC, ME_MFV, ME_LUCRO1, ´+
´ME_VLRVISTA, ME_VLRPRAZO, ME_IPI, ME_ICMS, ME_ICME, ME_FRETE, ME_PERFRETE, ME_VTNF, ME_VTPRO,´+
´ME_VTPRO, ME_OUTRO, ME_VLRCOMPRA, ME_PRECO01, ME_PRECO02, ME_PRECO03 )´+
´VALUES (:codbar, :fornece, :data_hora, :NFISCAL, :NPEDIDO, :OPE, :MVT, :QTD, ´+
´:VLR, :CUSTO, :VLO, :MFC, :MFV, :LUCRO, :AVISTA, :APRAZO, :IPI, :ICMS, :ICME, :FRETE, :PERFRETE, :VTNF, ´+
´:VTPRO, :VTPRO, :OUTRO, :VLRCOMPRA, :PRECO01, :PRECO02, :PRECO03)´;
SQLdpro.ParamByName(´codbar´).AsString := edit4.Text;
SQLdpro.ParamByName(´FORNECE´).AsInteger := strtoint(edit1.Text);
SQLdpro.ParamByName(´data_hora´).asstring:=formatDatetime(´yyyy/mm/dd hh:mm:ss´,now);
SQLdpro.ParamByName(´Nfiscal´).AsString:=Edit3.Text;
SQLdpro.ParamByName(´Npedido´).AsString:=Edit2.Text;
SQLdpro.ParamByName(´OPE´).AsString:=vope;
SQLdpro.ParamByName(´MVT´).AsString:=vmvt;
SQLdpro.ParamByName(´QTD´).AsFloat:=strtocurr(currencyedit1.text);
SQLdpro.ParamByName(´VLR´).AsFloat:=strtocurr(currencyedit2.text);
SQLdpro.ParamByName(´CUSTO´).AsFloat:=strtocurr(currencyedit18.text);
vvlo := strtocurr(currencyedit18.text)*strtocurr(currencyedit1.Text);
SQLdpro.ParamByName(´VLO´).AsFloat:=VVLO;
SQLdpro.ParamByName(´MFC´).AsFloat:=strtocurr(currencyedit17.text);
// if strtocurr(currencyedit7.EditText)
vconver := currencyedit7.Text;
while (pos(ThousandSeparator,vconver)>0) do
delete(vconver,pos (ThousandSeparator,vconver),1);
vipi := strtofloat(vconver);
SQLdpro.ParamByName(´IPI´).AsCurrency:=vipi;
SQLdpro.ParamByName(´ICMS´).AsFloat:=strtocurr(currencyedit6.text);
SQLdpro.ParamByName(´ICME´).AsFloat:=strtocurr(currencyedit8.text);
sqldpro.ParamByName(´FRETE´).AsFloat:=strtocurr(currencyedit3.Text);
IF CheckBox1.Checked then
BEGIN
SQLdpro.ParamByName(´MFV´).AsFloat:=strtocurr(currencyedit13.text);
SQLdpro.ParamByName(´LUCRO´).AsFloat:=strtocurr(currencyedit10.text);
SQLdpro.ParamByName(´AVISTA´).AsFloat:=strtocurr(currencyedit16.text);
SQLdpro.ParamByName(´APRAZO´).AsFloat:=strtocurr(currencyedit23.text);
END;
IF CheckBox2.Checked then
BEGIN
SQLdpro.ParamByName(´MFV´).AsFloat:=strtocurr(currencyedit14.text);
SQLdpro.ParamByName(´LUCRO´).AsFloat:=strtocurr(currencyedit11.text);
SQLdpro.ParamByName(´AVISTA´).AsFloat:=strtocurr(currencyedit19.text);
SQLdpro.ParamByName(´APRAZO´).AsFloat:=strtocurr(currencyedit24.text);
END;
IF CheckBox3.Checked then
BEGIN
SQLdpro.ParamByName(´MFV´).AsFloat:=strtocurr(currencyedit15.text);
SQLdpro.ParamByName(´LUCRO´).AsFloat:=strtocurr(currencyedit12.text);
SQLdpro.ParamByName(´AVISTA´).AsFloat:=strtocurr(currencyedit20.text);
SQLdpro.ParamByName(´APRAZO´).AsFloat:=strtocurr(currencyedit25.text);
END;
Sqldpro.ParamByName(´PERFRETE´).AsFloat:=strtofloat(currencyedit5.Text);
sqldpro.ParamByName(´VTNF´).AsFloat:=strtofloat(currencyedit4.Text);
vvtpro := (strtofloat(currencyedit1.Text)*strtofloat(currencyedit2.Text));
sqldpro.ParamByName(´VTPRO´).AsFloat:=vvtpro;
sqldpro.ParamByName(´outro´).AsFloat:=strtofloat(currencyedit9.Text);
sqldpro.ParamByName(´VLRCOMPRA´).AsFloat:=strtofloat(currencyedit2.Text);
sqldpro.ParamByName(´PRECO01´).AsFloat:=strtofloat(currencyedit16.Text);
sqldpro.ParamByName(´PRECO02´).AsFloat:=strtofloat(currencyedit19.Text);
sqldpro.ParamByName(´PRECO03´).AsFloat:=strtofloat(currencyedit20.Text);
SQLdpro.ExecSQL;
//IF
//sqlxpro.Close;
//sqlxpro.CommandText:=´UPDATE PRODUTOS SET PDT_SALDO
modalresult:=-1;
Emery
Curtir tópico
+ 0
Responder
Posts
20/10/2003
Marlon Spiess
Olá,
pq vc não cria uma variavel e controle com try except, e movimenta assim o valor e não transformando o texto em valor na movimentação.
Boa sorte
pq vc não cria uma variavel e controle com try except, e movimenta assim o valor e não transformando o texto em valor na movimentação.
Boa sorte
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)