以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]计算  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=106193)

--  作者:苏州老街
--  发布时间:2017/9/4 13:21:00
--  [求助]计算
老师,计算入库数据有更好的方法吗?另:入库_价税合计  列没有数据,不知哪里不对。

Select Case e.DataCol.Name
    Case "入库_数量","入库_单价","入库_税率"
        If rk.IsNull("入库_数量") OrElse rk.IsNull("入库_单价") Then \'如果数量或单价为空
            rk("入库_金额") = Nothing
        Else
            rk("入库_金额") = rk("入库_数量") * rk("入库_单价") * (1 - rk("入库_税率"))
        End If
    Case "入库_数量","入库_单价","入库_金额"
        If rk.IsNull("入库_数量") OrElse rk.IsNull("入库_单价") Then \'如果数量或单价为空
            rk("入库_税金") = Nothing
        Else
            rk("入库_税金") = rk("入库_数量") * rk("入库_单价") -  rk("入库_金额")
        End If
 Case "入库_数量","入库_单价"
        If rk.IsNull("入库_数量") OrElse rk.IsNull("入库_单价") Then \'如果数量或单价为空
            rk("入库_价税合计") = Nothing
        Else
            rk("入库_价税合计") = rk("入库_数量") * rk("入库_单价")
        End If        
End Select

--  作者:kaiyu
--  发布时间:2017/9/4 13:45:00
--  
 s elect case 语句,每次只会执行一个CASE

--  作者:苏州老街
--  发布时间:2017/9/4 13:57:00
--  
老师,好了。
--  作者:有点甜
--  发布时间:2017/9/4 14:10:00
--  

分开,写成多个

 

Select Case e.DataCol.Name

 

End Select


--  作者:苏州老街
--  发布时间:2017/9/6 20:15:00
--  
老师,我用黄色标出的1-是什么意思?



dr(
"金额") = dr("数量") * dr("单价") * (1 - dr("折扣"))

--  作者:有点甜
--  发布时间:2017/9/6 20:36:00
--  

看你折扣怎么定义。有一种折扣,是20%,也就是给你20%的折扣,那你需要付80%,1-20%就是这个意思。

 

还有一种,是比如打8折,直接乘以80%