以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  添加或减去的值产生无法表示的 DateTime。??怎么解决??  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68853)

--  作者:klg1011
--  发布时间:2015/5/26 12:05:00
--  添加或减去的值产生无法表示的 DateTime。??怎么解决??


此主题相关图片如下:qq图片20150526120304.png
按此在新窗口浏览图片

老师们这种问题怎么解决?
\'判断提醒状态
Dim sts() As String ={"项目管理表","项目主线","主线任务"}
For Each st As String In sts
    For Each dr As DataRow In DataTables(st).DataRows
        If dr("计划完工日期").AddDays(-6)> Date.Today() Or  dr.IsNull("实际完工日期") = False Then
            dr("任务提醒") = "正常"
        ElseIf dr("计划完工日期") < Date.Today() And dr.IsNull("计划完工日期") = False 
            dr("任务提醒") = "超期"
        ElseIf dr("计划完工日期").AddDays(-6)<=Date.Today() And dr("计划完工日期") >= Date.Today()
            dr("任务提醒") = "即将到期"
        End If
    Next
Next 

--  作者:klg1011
--  发布时间:2015/5/26 12:13:00
--  
图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看
--  作者:大红袍
--  发布时间:2015/5/26 12:14:00
--  
Dim sts() As String ={"项目管理表","项目主线","主线任务"}
For Each st As String In sts
    For Each dr As DataRow In DataTables(st).DataRows
        If dr.IsNull("计划完工日期") = False Then
            If dr("计划完工日期").AddDays(-6)> Date.Today() OrElse  dr.IsNull("实际完工日期") = False Then
                dr("任务提醒") = "正常"
            ElseIf dr("计划完工日期") < Date.Today()
                dr("任务提醒") = "超期"
            ElseIf dr("计划完工日期").AddDays(-6)<=Date.Today() AndAlso dr("计划完工日期") >= Date.Today()
                dr("任务提醒") = "即将到期"
            End If
        End If
    Next
Next

--  作者:klg1011
--  发布时间:2015/5/26 12:49:00
--  
是不是因为计划完工日期为空时即=01/01/0001dr("计划完工日期").AddDays(-6) 就超出了最小日期的范围限制,然后就报错“添加或减去的值产生无法表示的 DateTime。
--  作者:Bin
--  发布时间:2015/5/26 13:39:00
--  
嗯,应该是.