以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于数据类型问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=129287)

--  作者:ldx630901
--  发布时间:2018/12/25 23:10:00
--  关于数据类型问题

由于已经设定某列数据类型为整型,但因为其它列输入肯可能为空,导致它无法计算,只能为空,不能设置为0.

下面是代码:

For Each r As Row In Tables("党员资料").Rows
    Dim dl As Integer \'定义dl为工龄变量
    Dim zzrq As Date \'定义转正日期为日期型数据
    zzrq= r("转正时间")
    If zzrq = Nothing  Then
        \'dl = Nothing
        r("党龄") = 0
    Else
        dl = Date.Today.year - zzrq.year
        r("党龄") = dl
    End If
Next

问:如何修改ui上代码?谢谢!


--  作者:ldx630901
--  发布时间:2018/12/25 23:11:00
--  

由于已经设定某列数据类型为整型,但因为其它列输入肯可能为空,导致它无法计算,只能为空,不能设置为0.

下面是代码:

For Each r As Row In Tables("党员资料").Rows
    Dim dl As Integer \'定义dl为工龄变量
    Dim zzrq As Date \'定义转正日期为日期型数据
    zzrq= r("转正时间")
    If zzrq = Nothing  Then
        \'dl = Nothing
        r("党龄") = 0
    Else
        dl = Date.Today.year - zzrq.year
        r("党龄") = dl
    End If
Next

问:如何修改以上代码?谢谢!


--  作者:有点蓝
--  发布时间:2018/12/25 23:32:00
--  
For Each r As Row In Tables("党员资料").Rows
    Dim dl As Integer \'定义dl为工龄变量
    Dim zzrq As Date \'定义转正日期为日期型数据
    zzrq= r("转正时间")
    If r.IsNull("转正时间")  Then
        \'dl = Nothing
        r("党龄") = 0
    Else
        dl = Date.Today.year - zzrq.year
        r("党龄") = dl
    End If
Next

--  作者:ldx630901
--  发布时间:2018/12/25 23:48:00
--  

 r("党龄") = 0

这条语句有问题

想让该单元清空,不能赋值为0


--  作者:有点蓝
--  发布时间:2018/12/26 8:57:00
--  
r("党龄") = nothing
--  作者:ldx630901
--  发布时间:2018/12/26 10:09:00
--  

为何不能用

 If r("转正时间")  = Nothong Then
            \'dl = Nothing
           r("党龄") = Nothing

 

而用

 If r.IsNull("转正时间")  Then
            \'dl = Nothing
           r("党龄") = Nothing
......

呢?


--  作者:有点蓝
--  发布时间:2018/12/26 10:25:00
--  
http://www.foxtable.com/webhelp/scr/0595.htm
--  作者:ldx630901
--  发布时间:2018/12/26 12:30:00
--  
谢谢!