以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何判断日期是否为空?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87878)

--  作者:happyft
--  发布时间:2016/7/21 20:21:00
--  如何判断日期是否为空?
Dim minD As Date = e.Table.DataTable.Compute("Min(计划开始)", "计划开始 IS NOT NULL")
Dim maxD As Date = e.Table.DataTable.Compute("Max(计划结束)","计划结束 IS NOT NULL")

要如何判断minD,maxD是否为空,下面的写法总提示出错

        If minD Is not null And maxD Is not null Then
       If minD Isnot nothing And maxD Isnot null Then

谢谢!



--  作者:大红袍
--  发布时间:2016/7/21 20:26:00
--  

 If minD <> Nothing Then

 

 End If


--  作者:HappyFt
--  发布时间:2016/7/22 11:50:00
--  
drawcell的代码:
If DrawGannt Then
    If Tables(e.Table.form.name & "_主表").Rows.count > 0 Then \'计划表中没有数据时会出错
        Dim r As Row  = Tables(e.Table.form.name & "_主表").Rows(e.Row.Index)
        \' If  r("计划开始") <> Nothing  And  r("计划结束") <> Nothing Then
        Dim dt1,dt2,dt3 As Date
        dt1 = r("计划开始")   
        dt2 = r("计划结束")
        dt3 = r("需求日期")
。。。。。
    end if
end if
上面的代码执行到红色那行时会提示出错:   从字符串“计划开始”到类型date的转换无效 
加上日期不为空的判断也同样出错,是什么原因导致这个出错?
谢谢!

--  作者:狐狸爸爸
--  发布时间:2016/7/22 11:52:00
--  

控制判断是用Isnull,这是基本功,帮助还是要细致地看一遍地:

http://www.foxtable.com/webhelp/scr/1470.htm

 


--  作者:HappyFt
--  发布时间:2016/7/22 12:07:00
--  
用isnull判断同样出错,计划开始和结束都是日期类型,不管是否有值drawcell中应该都不会出错
--  作者:狐狸爸爸
--  发布时间:2016/7/22 12:30:00
--  
做个简单例子发上来测试