以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎样计算距离现在的时间差距  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122365)

--  作者:qjm107
--  发布时间:2018/7/23 23:26:00
--  [求助]怎样计算距离现在的时间差距
各位专家和高手:
  大家好,我现在有一个任务,在我上传的附件“取代码和计算时间差中”,我想成批次的计算出预期时间与当前时间之间还距离几年几月几日,请问怎样快速地实现计算出时间差距栏中的时间,我已给出前三个示例。
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:取代码和计算时间差.table


--  作者:有点甜
--  发布时间:2018/7/24 9:38:00
--  

参考

 

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

 


--  作者:qjm107
--  发布时间:2018/7/24 23:41:00
--  
有点甜
      你好,感谢你长期多次对我的指导,根据你在2018/7/24 9:38:00回复我的上面的网页链接的内容
我模仿写了代码去试验,在我上传的附件中的表名为“时间差”中,我执行了我附件中的代码,但仍然显示编译错误,请问具体要怎么修改代码语句?

--  作者:qjm107
--  发布时间:2018/7/24 23:42:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:取代码和计算时间差.table


--  作者:qjm107
--  发布时间:2018/7/24 23:46:00
--  

此主题相关图片如下:表名位时间差的.jpg
按此在新窗口浏览图片

此主题相关图片如下:计算时间差距仍显示编译错误.jpg
按此在新窗口浏览图片
有点甜
      你好,感谢你长期多次对我的指导,根据你在2018/7/24 9:38:00回复我的上面的网页链接的内容
我模仿写了代码去试验,在我上传的附件中的表名为“时间差”中,我执行了我附件中的代码,但仍然显示编译错误,请问具体要怎么修改代码语句?我模仿编写的代码如下:
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:取代码和计算时间差.table


Select Case e.DataCol.name 

    Case "预期时间"
        If e.DataRow.IsNull("预期时间") Then
            e.DataRow("时间差距") = Nothing
        Else
            Dim tp As TimeSpan =  CDate(e.DataRow("预期时间")) - Date.today
            e.
DataRow("时间差距") = Math.Round(tp.TotalDays / 365.2422,2)
        
End If
End
 Select


--  作者:有点甜
--  发布时间:2018/7/25 9:03:00
--  

请在表属性->datacolchanged事件编写代码

 

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

 


--  作者:qjm107
--  发布时间:2018/7/25 22:44:00
--  
你好,我写的代码如下,但是点击“确定”后仍无任何结果,请问是哪儿出问题了?
Select Case e.DataCol.name 
    Case "预期时间"
        If e.DataRow.IsNull("预期时间") Then
            e.DataRow("时间差距") = Nothing
        Else
            Dim tp As TimeSpan = CDate(e.DataRow("预期时间")) - CDate(e.DataRow("当前时间"))
            e.DataRow("时间差距") = Math.Round(tp.TotalDays / 365.2422,2)
        End If
End Select
图片点击可在新窗口打开查看此主题相关图片如下:时间差距仍未计算出.jpg
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2018/7/25 23:01:00
--  

回复7楼。

 

1、你可以重新输入时间后计算;

 

2、你可以重置列 图片点击可在新窗口打开查看


--  作者:qjm107
--  发布时间:2018/7/27 22:41:00
--  
有点甜
多谢指点,是先写代码,再输数值,计算结果就出来了,谢谢!


--  作者:qjm107
--  发布时间:2018/7/27 23:12:00
--  
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:取代码和计算时间差.table

请问我输入的代码如下
Select Case e.DataCol.name 
    Case "预期时间"
        If e.DataRow.IsNull("预期时间") Then
            e.DataRow("时间差距") = Nothing
        Else
            Dim tp As TimeSpan = CDate(e.DataRow("预期时间")) - CDate(e.DataRow("当前时间"))
            e.DataRow("时间差距") = Math.Round(tp.TotalDays / 365.2422,2)
        End If
End Select
却出现了如图所示,是怎么回事?
此主题相关图片如下:不明白的错误.jpg
按此在新窗口浏览图片