以文本方式查看主题

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

--  作者:新航程小何
--  发布时间:2014/12/12 12:17:00
--  [求助]

老师们,请问下面两段代码的区别在哪?我用上面的代码可以实现空值检测?为啥用下面的代码在空值检测时就出问题,就算你填了4,5列,依然提醒是空值

If Tables("用户管理").Current.IsNull( 1 Or 2 Or 3  Or 0) Or Tables("用户管理").Current.IsNull( 4 Or 5)   Then
    messagebox.Show("存在未填项,请核查!")
End If

If Tables("用户管理").Current.IsNull( 1 Or 2 Or 3  Or 0 or 4 or 5 )   Then
    messagebox.Show("存在未填项,请核查!")
End If


--  作者:Bin
--  发布时间:2014/12/12 14:07:00
--  
不能这么写

Tables("用户管理").Current.IsNull("列1") or Tables("用户管理").Current.IsNull("列1") 
要这样一个个来

--  作者:有点甜
--  发布时间:2014/12/12 14:07:00
--  

Dim r As Row = Tables("用户管理").Current

If r.IsNull("1") OrElse r.IsNull("2") Orelse r.IsNull("3")  Then
    messagebox.Show("存在未填项,请核查!")
End If


--  作者:新航程小何
--  发布时间:2014/12/13 15:24:00
--  
我想用的是列目录号来代替列名称,两位老师说的是直接采用列名称,这样输入的工作量很大
--  作者:有点甜
--  发布时间:2014/12/14 10:18:00
--  

Dim r As Row = Tables("表A").Current

Dim str As String = "第一列,第二列,第三列"
For Each s As String In str.Split(",")
    If r.IsNull(s) Then
        msgbox("为空")
        Exit For
    End If
Next