Foxtable(狐表)用户栏目专家坐堂 → 我要把空值当做1,为什么不能正确计算呢


  共有1466人关注过本帖树形打印复制链接

主题:我要把空值当做1,为什么不能正确计算呢

帅哥哟,离线,有人找我吗?
whtb999
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:143 积分:1769 威望:0 精华:0 注册:2016/5/10 15:59:00
我要把空值当做1,为什么不能正确计算呢  发帖心情 Post By:2017/11/13 16:03:00 [只看该作者]

Dim d1 As Double
Dim d2 As Double
Dim d3 As Double
Dim d4 As Double
Dim d5 As Double
d1=1
d2=1
d3=1
d4=1
Select Case e.DataCol.Name
    Case "第一列"
        If e.DataRow.IsNull("第一列") Then
            e.DataRow("第一列") = Nothing
            
        Else
            d1=e.DataRow("第一列")
            d5=d1*d2*d3*d4
            e.DataRow("第五列")=d5
        End If
    Case "第二列"
        If e.DataRow.IsNull("第二列") Then
            e.DataRow("第二列") = Nothing
        Else
            d2=e.DataRow("第二列")
            d5=d1*d2*d3*d4
            e.DataRow("第五列")=d5
        End If
        
    Case "第三列"
        If e.DataRow.IsNull("第三列") Then
            e.DataRow("第三列") = Nothing
        Else
            d3=e.DataRow("第三列")
            d5=d1*d2*d3*d4
            e.DataRow("第五列")=d5
        End If
        
    Case "第四列"
        If e.DataRow.IsNull("第四列") Then
            e.DataRow("第四列") = Nothing
        Else
            d4=e.DataRow("第四列")
            d5=d1*d2*d3*d4
            e.DataRow("第五列")=d5
        End If
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
whtb999
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:143 积分:1769 威望:0 精华:0 注册:2016/5/10 15:59:00
  发帖心情 Post By:2017/11/13 16:13:00 [只看该作者]

我这样修改了也不行不知道问题出在哪里,请各位帮忙
Dim d5 As Double
d1=1
d2=1
d3=1
d4=1
Select Case e.DataCol.Name
    Case "第一列"
        If e.DataRow.IsNull("第一列") Then
            e.DataRow("第一列") = Nothing
            d1=1
        Else
            d1=e.DataRow("第一列")
            d5=d1*d2*d3*d4
            e.DataRow("第五列")=d5
        End If
    Case "第二列"
        If e.DataRow.IsNull("第二列") Then
            e.DataRow("第二列") = Nothing
            d2=1
        Else
            d2=e.DataRow("第二列")
            d5=d1*d2*d3*d4
            e.DataRow("第五列")=d5
        End If
        
    Case "第三列"
        If e.DataRow.IsNull("第三列") Then
            e.DataRow("第三列") = Nothing
            d3=1
        Else
            d3=e.DataRow("第三列")
            d5=d1*d2*d3*d4
            e.DataRow("第五列")=d5
        End If
        
    Case "第四列"
        If e.DataRow.IsNull("第四列") Then
            e.DataRow("第四列") = Nothing
            d4=1
        Else
            d4=e.DataRow("第四列")
            d5=d1*d2*d3*d4
            e.DataRow("第五列")=d5
        End If
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/13 16:18:00 [只看该作者]

Select Case e.DataCol.name
    Case "第一列","第二列","第三列","第四列"
        Dim d1 As Double = val(e.DataRow("第一列"))
        Dim d2 As Double = val(e.DataRow("第二列"))
        Dim d3 As Double = val(e.DataRow("第三列"))
        Dim d4 As Double = val(e.DataRow("第四列"))
        Dim d5 As Double
       
       
        If e.DataRow.IsNull("第一列") Then
            e.DataRow("第一列") = Nothing
            d1 = 1
        End If
       
        If e.DataRow.IsNull("第二列") Then
            e.DataRow("第二列") = Nothing
            d2 = 1
        End If
       
        If e.DataRow.IsNull("第三列") Then
            e.DataRow("第三列") = Nothing
            d3 = 1
        End If
        If e.DataRow.IsNull("第四列") Then
            e.DataRow("第四列") = Nothing
            d4 = 1
        End If
       
        d5=d1*d2*d3*d4
        e.DataRow("第五列")=d5
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
whtb999
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:143 积分:1769 威望:0 精华:0 注册:2016/5/10 15:59:00
  发帖心情 Post By:2017/11/13 17:22:00 [只看该作者]

谢谢您!

 回到顶部