以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码计算过程中做了列数值判断,若汇率首先输入就进入死循环,如何解决?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175976)

--  作者:乐乐9911
--  发布时间:2022/3/25 15:18:00
--  代码计算过程中做了列数值判断,若汇率首先输入就进入死循环,如何解决?
  蓝老师:我用代码计算,首先录入汇率就进入死循环,我知道大概是被除数汇率作为分母的问题,
现在的用法将汇率作为最后录入,才不进入死循环。 求解?


Dim dr As DataRow = e.DataRow

Select Case e.DataCol.Name
    Case "汇率","采购成本含税价","增值税税率","采购成本不含税价折算美元"
        
        If dr.IsNull("采购成本含税价")  Then
            dr("采购成本不含税价折算美元") =  Nothing
        End If
        
        If dr("增值税税率")=0  Then
            dr("采购成本不含税价折算美元")  = dr("采购成本含税价") /dr("汇率")
        End If

        If dr("增值税税率")<>0 Then
            dr("采购成本不含税价折算美元")  = dr("采购成本含税价")/1.13 /dr("汇率")
        End If
        
End Select




--  作者:有点蓝
--  发布时间:2022/3/25 15:49:00
--  
Case "汇率","采购成本含税价","增值税税率","采购成本不含税价折算美元"
改为
Case "汇率","采购成本含税价","增值税税率"

case不要包含被赋值的列

--  作者:乐乐9911
--  发布时间:2022/3/25 15:58:00
--  
可以了,谢谢!