以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于计算欠款由开始到结束,共欠多少个月?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119640)

--  作者:polo_luo
--  发布时间:2018/5/29 11:30:00
--  [求助]关于计算欠款由开始到结束,共欠多少个月?

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


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

--  作者:有点甜
--  发布时间:2018/5/29 11:56:00
--  

参考

 

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

 

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

 


--  作者:polo_luo
--  发布时间:2018/5/29 12:05:00
--  
用表事件代码还是在表达式列直接计算?
--  作者:有点甜
--  发布时间:2018/5/29 12:14:00
--  
以下是引用polo_luo在2018/5/29 12:05:00的发言:
用表事件代码还是在表达式列直接计算?

 

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


--  作者:polo_luo
--  发布时间: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
--  发布时间: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实现?


--  作者:有点甜
--  发布时间: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编辑过]