Foxtable(狐表)用户栏目专家坐堂 → [求助]关于计算欠款由开始到结束,共欠多少个月?


  共有2757人关注过本帖树形打印复制链接

主题:[求助]关于计算欠款由开始到结束,共欠多少个月?

帅哥哟,离线,有人找我吗?
polo_luo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:111 积分:833 威望:0 精华:0 注册:2012/2/13 1:45:00
[求助]关于计算欠款由开始到结束,共欠多少个月?  发帖心情 Post By:2018/5/29 11:30:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:月数计算.png
图片点击可在新窗口打开查看


如图
关于计算欠款由开始到结束,共欠多少个月?代码咋写
FOXTABLE关于时段计算的例子很少

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/29 11:56:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
polo_luo
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:111 积分:833 威望:0 精华:0 注册:2012/2/13 1:45:00
  发帖心情 Post By:2018/5/29 12:05:00 [只看该作者]

用表事件代码还是在表达式列直接计算?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/29 12:14:00 [只看该作者]

以下是引用polo_luo在2018/5/29 12:05:00的发言:
用表事件代码还是在表达式列直接计算?

 

必须使用datacolchanged事件处理,表达式列无法做到。


 回到顶部
帅哥哟,离线,有人找我吗?
polo_luo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:111 积分:833 威望:0 精华:0 注册:2012/2/13 1:45:00
  发帖心情 Post By:2018/5/29 17:41:00 [只看该作者]

Select Case e.DataCol.Name
    Case "欠款结束时间","欠款开始时间"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("欠款开始时间") OrElse dr.IsNull("欠款结束时间") Then
            dr("欠款月数") = Nothing
        Else
            Dim tp As TimeSpan = dr("欠款结束时间") - dr("欠款开始时间") 
            dr("欠款月数") = Math.Round(tp.TotalDays / 30)
        End If
End Select


成了,谢谢版主



 回到顶部
帅哥哟,离线,有人找我吗?
polo_luo
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:111 积分:833 威望:0 精华:0 注册:2012/2/13 1:45:00
  发帖心情 Post By:2018/5/29 17:45:00 [只看该作者]

DateDiff

计算两个给定日期的间隔。

语法

DateDiff(Interval, Date1, Date2)

Interval:表示时间间隔的类型。

Date1:起始日期

Date2:结束日期

Interval 包含以下设置:

yyyy 年 
q    季度 
m    月 
y    某年的某一天 
d    天 
w    工作日 
ww   周 
h    时 
n    分 
s    秒




查了帮助,不知这代码能否在foxtable实现?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/29 17:57:00 [只看该作者]

Select Case e.DataCol.Name
    Case "欠款结束时间","欠款开始时间"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("欠款开始时间") OrElse dr.IsNull("欠款结束时间") Then
            dr("欠款月数") = Nothing
        Else           
            dr("欠款月数") = DateDiff("m", dr("欠款开始时间"), dr("欠款结束时间"))
        End If
End Select
[此贴子已经被作者于2018/5/29 17:58:23编辑过]

 回到顶部