以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  没有为类型date和object定义运算符  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161806)

--  作者:季朝龙
--  发布时间:2021/3/30 12:35:00
--  没有为类型date和object定义运算符

如下代码出现错误提示,是什么问题?

编译错误:没有为类型date和object定义运算符“-”

 

 

Select Case e.DataCol.Name
    Case "状态"
        If e.DataRow("状态") = "closed" Or e.DataRow("状态") = "请假" Or e.DataRow("状态") = "出差" Or e.DataRow("状态") = "未提交" Then
            e.DataRow("关闭日期") = Date.Now
        Else
            e.DataRow("关闭日期") = Nothing
        End If
    Case "开始日期","关闭日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("开始日期") Then
            dr("持续天数") = Nothing
        Else
            If dr.IsNull("关闭日期") Then
                Dim d1 As Date = Date.Today
                Dim tp1 As TimeSpan = d1 - dr("开始日期")
                dr("持续天数") = tp1.TotalDays + 1
            Else
                Dim tp As TimeSpan = dr("关闭日期") - dr("开始日期")
                dr("持续天数") = tp.TotalDays + 1
            End If
        End If
    Case "E列"
        \'代码三
End Select


--  作者:有点蓝
--  发布时间:2021/3/30 13:36:00
--  
参考:http://www.foxtable.com/webhelp/topics/1517.htm

Dim tp1 As TimeSpan = d1 - cdate(dr("开始日期"))