Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共12 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:如何用表达式计算详细时间?

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

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

 

 

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

3楼
benten 发表于:2011/8/8 17:23:00
不好意思,我对狐表还不太了解,这个代码加在哪里?我没看懂。
4楼
狐狸爸爸 发表于:2011/8/8 17:26:00

表属性 - 事件 - DataColchanged事件

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

 

 

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

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

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

8楼
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编辑过]
9楼
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

10楼
狐狸爸爸 发表于:2011/12/26 22:41:00

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

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

 

共12 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 3 queries.