以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  能区别空值和0吗?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=192099)

--  作者:zhangchi96
--  发布时间:2024/5/28 22:41:00
--  能区别空值和0吗?
1、系统生成了一个表,其中列【月数】是证书类型

2、【月数】列可以填写 0、1、2、3、4、5、6,为了提醒使用者,【月数】列要填写,不能为空,但系统没法区分  0 和空

Dim i1 As Integer = 0
For Each dr1 As Row In Tables("教师发放绩效申领窗体_仅本单位已申请名册").Rows
      If dr1("月数") = Nothing Then
            i1 = i1 + 1
            Messagebox.Show( dr1("教师姓名") & " : " & dr1("申请发放月数") & "  :  " &  len(dr1("申请发放月数") ))
       End If
Next

3、其中 Messagebox.Show( dr1("教师姓名") & " : " & dr1("申请发放月数") & "  :  " &  len(dr1("申请发放月数") ))返回的值是 : 张三  : 0 : 4 ,不知道这里的4是什么原因

请问:能区分空值和0吗?

--  作者:zhangchi96
--  发布时间:2024/5/28 23:03:00
--  
For Each dr1 As DataRow In DataTables("名册").Select(" 月数 Is null  ","序号")
   i1 = i1 + 1
end if

我用这种方法区别了空值和0 ,上面的语句找出的就是空值,不知道对不对?

--  作者:有点蓝
--  发布时间:2024/5/28 23:05:00
--  
4的原因是:https://learn.microsoft.com/ZH-CN/dotnet/api/microsoft.visualbasic.strings.len?view=netframework-4.0,整数变量在内存里需要4个字节存储,所以是4。

判断空值需要使用isnull:http://www.foxtable.com/webhelp/topics/0595.htm

帮助搜索“空值”,有几篇和空值有关的帮助,建议都看一看