以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何用表达式计算详细时间?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11699)

--  作者:benten
--  发布时间:2011/8/8 15:54:00
--  如何用表达式计算详细时间?
我在狐表中设置了三列,分别是:开始时间,结束时间,和累计时间。其中开始时间和结束时间是TIME类型,累计时间是保留一位不数的数值型。请问我要如何实现用结束时间-开始时间,得到一个数值保存在累计时间列中?
--  作者:狐狸爸爸
--  发布时间:2011/8/8 16:06:00
--  

这个不能用表达式,只能用代码。

 

 

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


--  作者:benten
--  发布时间:2011/8/8 17:23:00
--  
不好意思,我对狐表还不太了解,这个代码加在哪里?我没看懂。
--  作者:狐狸爸爸
--  发布时间:2011/8/8 17:26:00
--  

表属性 - 事件 - DataColchanged事件

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

 

 

作为初学者,还是先系统看一下帮助文件吧。


--  作者:benten
--  发布时间:2011/8/9 11:31:00
--  
非常感谢。
--  作者:fbi168
--  发布时间:2011/9/16 19:19:00
--  
不错确实能显示所用时间,但是分钟怎么不是60秒进位啊?
--  作者:xuefoxtable
--  发布时间:2011/12/25 21:05:00
--  

你好,请问你还在线吗?我是foxtable初学者,我也有这样的问题,我想看一下你给的这段代码,但我下载打开后代码编辑段里是空的,我该到哪里看看这个代码段啊!谢谢了


--  作者:yangming
--  发布时间:2011/12/25 22:58:00
--  
以下是引用xuefoxtable在2011-12-25 21:05:00的发言:

你好,请问你还在线吗?我是foxtable初学者,我也有这样的问题,我想看一下你给的这段代码,但我下载打开后代码编辑段里是空的,我该到哪里看看这个代码段啊!谢谢了

菜单--数据表-表属性 - 事件 - DataColchanged事件中

 

Select Case e.DataCol.Name
    Case "开始时间","结束时间"
        If e.DataRow.IsNull("开始时间") OrElse e.DataRow.IsNull("结束时间") Then
            e.DataRow("用时") = Nothing
        Else
            e.DataRow("用时") = (e.DataRow("结束时间") - e.DataRow("开始时间")).TotalHours
        End If
End Select

[此贴子已经被作者于2011-12-25 22:58:42编辑过]

--  作者:xuefoxtable
--  发布时间:2011/12/26 16:18:00
--  

恩,非常感谢,找到了。还有我把这段程序插到新建的项目里后,发现杂项输出结构里第一,二,三列仍然是字符型,而它应该是日期型或其它才对,我应该怎么把它变成日期型啊?我下面这段小程序有没有什么问题啊?谢谢了(程序目的是:先求出两个时间段,再求两段的和,其中求时间段时,某个时间可能是空的)再次谢谢了

 

 

Select Case e.DataCol.Name

    Case "第一列","第二列"

        If e.DataRow.IsNull("第一列") and e.DataRow.IsNull("第二列") Then

            e.DataRow("第五列") = Nothing

        Else if  e.DataRow.IsNull("第一列") 

            e.DataRow("第五列") = (e.DataRow("第二列") -"#某个时间#").TotalHours

        Else if  e.DataRow.IsNull("第二列") 

            e.DataRow("第五列") = ("#某个时间#")-e.DataRow("第二列")) TotalHours

        else  

            e.DataRow("第五列") = (e.DataRow("第二列") - e.DataRow("第一列")).TotalHours

        End If

    case "第三列","第四列"

         If e.DataRow.IsNull("第三列") and e.DataRow.IsNull("第四列") Then

            e.DataRow("第六列") = Nothing

        Else if  e.DataRow.IsNull("第三列") 

            e.DataRow("第六列") = (e.DataRow("第四列") -"#某个时间#").TotalHours

        Else if  e.DataRow.IsNull("第四列") 

            e.DataRow("第六列") = ("#某个时间#")-e.DataRow("第三列")) TotalHours

        else  

            e.DataRow("第六列") = (e.DataRow("第四列") - e.DataRow("第三列")).TotalHours

        End If

            e.datarouw("第七列")=(e.DataRow("第五列") + e.DataRow("第六列")).TotalHoursEnd Select

       end select


--  作者:狐狸爸爸
--  发布时间:2011/12/26 22:41:00
--  

先看帮助,从使用指南开始看,看三遍,会用了,再看开发指南,就不会有这样的疑问了。

数据类型是一切的基础,使用指南是开发指南的基础。