以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  遇到0除错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=114076)

--  作者:hopestarxia
--  发布时间:2018/1/28 7:06:00
--  遇到0除错误
有一外代码执行时提示“遇到0除错误”代码如下:请问如何避免数据为0时的零除错误
Dim t1 As Table = e.form.Controls("Table3").Table
For Each r As Row In t1.Rows

    r("userdef15") =   Format( e.Form.Controls("NumericComboBox3").value / e.Form.Controls("NumericComboBox2").value  *  Val(r("userdef4")) + e.Form.Controls("NumericComboBox5").value / e.Form.Controls("NumericComboBox4").value  * Val(r("userdef6"))  +   e.Form.Controls("NumericComboBox7").value / e.Form.Controls("NumericComboBox6").value  * Val(r("userdef7")) ,"0.00")

Next

--  作者:wyz20130512
--  发布时间:2018/1/28 10:47:00
--  
NumericComboBox2,NumericComboBox4,NumericComboBox6
以上三个数据框作为除数,不能为零。加一个判断即可。

--  作者:有点甜
--  发布时间:2018/1/28 14:20:00
--  

比如 a / b

 

那就改成 a / iif(b=0, 1, b)

 

或者用代码判断

 

Iif b = 0 then

 

else

 

End If


--  作者:hopestarxia
--  发布时间:2018/1/29 7:21:00
--  
老师,这个后面用的是先判断这几个数字是否有0的,然后没有一个为0的,再执行代码解决的。谢谢老师。