以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教日期天数间隔的算法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=29638)

--  作者:VICMA
--  发布时间:2013/3/10 23:53:00
--  请教日期天数间隔的算法

我有一个“运行井”表, 表中有一列【安装日期】,还有一列【运行时间】, 我想实现在表中填入一个安装日期,则【运行时间】列相应行就更新成‘今天日期-安装日期’的天数,其中【安装日期】列是日期型,【运行时间】列是表达式列,也是日期时间型。

 

请大家帮组解决,谢谢!

 

 


--  作者:狐狸爸爸
--  发布时间:2013/3/11 11:19:00
--  

如果单单是天数,看看这里的示例二和示例三:

 

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

 


--  作者:VICMA
--  发布时间:2013/3/11 11:45:00
--  
以下是引用狐狸爸爸在2013-3-11 11:19:00的发言:

如果单单是天数,看看这里的示例二和示例三:

 

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

 

我昨晚就用的这个例子修改的,代码: 

Select Case e.DataCol.name
    Case "InstallDate"
        If e.DataRow.IsNull("InstallDate") Then
            e.DataRow("RunTime") = Nothing
        Else
            Dim tp As TimeSpan = Date.today - CDate(e.DataRow("InstallDate"))
            e.DataRow("RunTime") = tp.TotalDays
         End If
 End Select

DataTables("CCLTControlWells").DataCols("RunTime").RaiseDataColChanged()

 

 

但是总是提示错误:“Exception has been thrown by the target of an invocation.”

 

请问我的代码什么问题?谢谢!



--  作者:VICMA
--  发布时间:2013/3/11 11:46:00
--  
以下是引用狐狸爸爸在2013-3-11 11:19:00的发言:

如果单单是天数,看看这里的示例二和示例三:

 

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

 

详细报错:.NET Framework 版本:2.0.50727.5466
Foxtable 版本:2012.11.28.1
错误所在事件:表,CCLTControlWells,DataColChanged
详细错误信息:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidCastException: Conversion from type \'Double\' to type \'Date\' is not valid.

 

难道是我的“RunTime”列定义成日期时间型的表达式列不对?


--  作者:VICMA
--  发布时间:2013/3/11 11:57:00
--  
以下是引用muhua在2013-3-11 11:53:00的发言:

上传例子看下咯。

其中的表“CCLTControlWells”中的“InstallDate”和“RunTime”两列进行上述的计算。谢谢1

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:cclt项目管理平台.zip


--  作者:狐狸爸爸
--  发布时间:2013/3/11 12:37:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:cclt项目管理平台.table


--  作者:VICMA
--  发布时间:2013/3/11 13:01:00
--  
以下是引用狐狸爸爸在2013-3-11 12:37:00的发言:
 下载信息  [文件大小:508.0 KB  下载次数:0]
图片点击可在新窗口打开查看点击浏览该文件:cclt项目管理平台.table

请问我是表达式列“RunTime”定义成日期时间型,这里错了么?必须是双精度小数型的?您还修改哪里了?谢谢!


--  作者:狐狸爸爸
--  发布时间:2013/3/11 14:08:00
--  
你输出代码,就知道我修改哪里了。
--  作者:VICMA
--  发布时间:2013/3/11 17:36:00
--  
以下是引用狐狸爸爸在2013-3-11 14:08:00的发言:
你输出代码,就知道我修改哪里了。

请问为什么在main表还要写一次代码?