以文本方式查看主题

-  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=55531)

--  作者:卟离卟弃
--  发布时间:2014/8/18 21:27:00
--  时间加减 错误提示,求解,,

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140818212552.jpg
图片点击可在新窗口打开查看
If dr.IsNull("库存_统计日期") Then 
 dr("一条窑_四周内生产天数") = Nothing
 Else 
 dr("一条窑_四周内生产天数") = (dr("窑炉计划_1条窑") - dr("库存_统计日期")).TotalDays 
 End If

 前几天代码还是好好的,今天老是出现这个提示,实在是找不出原因。。求助。 多谢
[此贴子已经被作者于2014-8-18 21:27:25编辑过]

--  作者:有点甜
--  发布时间:2014/8/18 21:34:00
--  

试试这样

 

If dr.Isnull("窑炉计划_1条窑") OrElse dr.IsNull("库存_统计日期") Then
    dr("一条窑_四周内生产天数") = Nothing
Else
    dr("一条窑_四周内生产天数") = (dr("窑炉计划_1条窑") - dr("库存_统计日期")).TotalDays
End If


--  作者:卟离卟弃
--  发布时间:2014/8/18 21:51:00
--  
一样的提示。
--  作者:有点甜
--  发布时间:2014/8/18 21:53:00
--  

 那就不应该是这段代码的错。你在认真调试一下

 

 http://www.foxtable.com/help/topics/1485.htm

 


--  作者:卟离卟弃
--  发布时间:2014/8/19 8:34:00
--  
还是一样的错误提示。

Dim dr As DataRow = dr
Select Case e.DataCol.Name
    Case "第一列"
        
        If dr.Isnull("第一列") OrElse dr.IsNull("第二列") Then
            dr("第三列") = Nothing
            MessageBox.Show(1)
        Else
            dr("第三列") = (dr("第二列") - dr("第一列")).TotalDays
            MessageBox.Show(2)
        End If
End Select

我试着在一个新表去做,只要在第一列或第二列中输入日期,就提示一样的错误。

--  作者:有点甜
--  发布时间:2014/8/19 9:16:00
--  
 例子发上来。
--  作者:有点甜
--  发布时间:2014/8/19 9:17:00
--  

汗,哪有你这样写代码的?看红色代码

 

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "第一列"
       
        If dr.Isnull("第一列") OrElse dr.IsNull("第二列") Then
            dr("第三列") = Nothing
            MessageBox.Show(1)
        Else
            dr("第三列") = (dr("第二列") - dr("第一列")).TotalDays
            MessageBox.Show(2)
        End If
End Select