以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  表达式列的数值判断问题!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=63941)

--  作者:東风破
--  发布时间:2015/2/1 19:44:00
--  表达式列的数值判断问题!

印刷厂的

 

表面处理 的计算公式是 长*宽*每平方米单价  得出来的数值如果小于规定值 则使用规定值做单价 代码改怎么弄啊?


--  作者:Bin
--  发布时间:2015/2/2 8:22:00
--  
IIF(([长]*[宽]*[单价])<[规定值],[规定值],[长]*[宽]*[单价])
--  作者:東风破
--  发布时间:2015/2/2 8:47:00
--  

Select Case e.DataRow("加工项目或者原料名称")
    Case "过油"
        If e.DataRow("价格") <0.08  Then
        e.DataRow("实际价格")=0.08
        Else
        e.DataRow("实际价格")=e.DataRow("价格")
       End If
    Case "光胶"
       If e.DataRow("价格") <0.1  Then
        e.DataRow("实际价格")=0.1
        Else
        e.DataRow("实际价格")=e.DataRow("价格")
       End If
    Case "哑胶"
       If e.DataRow("价格") <0.1  Then
        e.DataRow("实际价格")=0.1
        Else
        e.DataRow("实际价格")=e.DataRow("价格")
       End If

    Case Else
       e.DataRow("实际价格")=e.DataRow("价格")
End Select

弄了个曲线救国     新建一列叫实际价格   判断他的值   本想直接判断表达式列的再修改的   结果是只读的


--  作者:東风破
--  发布时间:2015/2/2 8:48:00
--  
以下是引用Bin在2015-2-2 8:22:00的发言:
IIF(([长]*[宽]*[单价])<[规定值],[规定值],[长]*[宽]*[单价])

谢谢  单条件是可以用这个 貌似不能多条件用 


--  作者:Bin
--  发布时间:2015/2/2 8:52:00
--  
那就用代码了.3楼的代码也可以.
--  作者:有点甜
--  发布时间:2015/2/2 9:09:00
--  

 建议直接用3楼的代码,如果用表达式的话,判断会很长很长的。 如

 

iif(加工项目或者原料名称=\'过油\', iif(价格<0.08,0.08,价格),iif(加工项目或者原料名称=\'光胶\' or 加工项目或者原料名称 = \'哑胶\',iif(价格<0.01,0.01,价格),价格))