以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  【求助】根据某列的值是否为空来判断另一列的值出错?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144338)

--  作者:wangjx817
--  发布时间:2019/12/17 14:51:00
--  【求助】根据某列的值是否为空来判断另一列的值出错?
老师,我想根据表中的“故障表”、“小区营收账户”列的值是否为空,来判断“故障表小区数”、“未抄表小区数”列的值。大致的意识是:如果“故障表”列的值不为空,那么“故障表小区数”的值为1,否则为0或空值;如果“小区营收账户”列的值为空,那么“未抄表小区数”的值为1,否则为0或空值;为什么会出现“故障表小区数”的值都为1,“未抄表小区数”的值都为0,不知错在哪里,很纳闷?我的代码如下:
Select Case e.DataCol.name
Case "故障表"
If e.DataRow("故障表") IsNot Nothing Then
    e.DataRow("故障表小区数") = 1
Else
   e.DataRow("故障表小区数") = 0
End If
Case "小区营收账户"
If e.DataRow("小区营收账户") IsNot Nothing Then
    e.DataRow("未抄表小区数") = 0
Else
    e.DataRow("未抄表小区数") = 1
End If
End Select


--  作者:wangjx817
--  发布时间:2019/12/17 14:53:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:列值代码设置问题.jpg
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2019/12/17 15:01:00
--  
Select Case e.DataCol.name
    Case "故障表"
        If e.DataRow.Isnull("故障表") Then
            e.DataRow("故障表小区数") = Nothing
        Else
            e.DataRow("故障表小区数") = 1
        End If
    Case "小区营收账户"
        If e.DataRow.Isnull("小区营收账户") Then
            e.DataRow("未抄表小区数") = 1
        Else
            e.DataRow("未抄表小区数") = Nothing
        End If
End Select

--  作者:wangjx817
--  发布时间:2019/12/17 15:06:00
--  
ok,谢谢狐爸!