以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  先判断此列内的内容再进行计算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=72112)

--  作者:liu1992
--  发布时间:2015/7/23 15:45:00
--  先判断此列内的内容再进行计算
我现在有一个列,列名是“品种”,这里面有花岗岩、大理石、玉石,但是我只想判断取出是花岗岩的数据,然后在进行其他的计算。语句要怎么写啊?
图片点击可在新窗口打开查看此主题相关图片如下:360反馈意见截图16171117468666.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2015/7/23 15:47:00
--  
 什么时候判断,什么时候计算,写在哪里?
--  作者:liu1992
--  发布时间:2015/7/23 15:47:00
--  
Dim hgy As String = "花岗岩"
If e.DataRow("品种") = hgy
        If  e.DataRow.Isnull("荒料销售数量") = False  And e.DataRow.Isnull("码单体积") = False Then
            e.DataRow("涨方率") = (e.DataRow("荒料销售数量") - e.DataRow("码单体积")) / e.DataRow("码单体积")
        End If
    
End If


目前我是这样写的,但是把大理石和玉石的也计算进去了

--  作者:liu1992
--  发布时间:2015/7/23 15:49:00
--  
我写在dataclochange里面,当品名是花岗岩,销售数量,体积不为空时就计算涨方率
--  作者:大红袍
--  发布时间:2015/7/23 15:51:00
--  

Dim hgy As String = "花岗岩"
If e.DataRow("品种") = hgy Then
    If  e.DataRow.Isnull("荒料销售数量") = False  And e.DataRow.Isnull("码单体积") = False Then
        e.DataRow("涨方率") = (e.DataRow("荒料销售数量") - e.DataRow("码单体积")) / e.DataRow("码单体积")

    Else

        e.DataRow("涨方率") = Nothing
    End If
Else
    e.DataRow("涨方率") = Nothing
End If


--  作者:liu1992
--  发布时间:2015/7/23 15:56:00
--  
终于可以了,谢谢大红袍!!!