以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何实现自动计算出每个月最后一天  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=83231)

--  作者:ljlhpop
--  发布时间:2016/4/4 18:55:00
--  如何实现自动计算出每个月最后一天
RT 
如何实现自动计算出每个月最后一天


图片点击可在新窗口打开查看此主题相关图片如下:riqi.jpg
图片点击可在新窗口打开查看
注明下:图里面的“所属日期”-是表达式列,是经过前面几列数据相加来的。
图片点击可在新窗口打开查看此主题相关图片如下:mgyrq.jpg
图片点击可在新窗口打开查看

--  作者:ztmdnzc
--  发布时间:2016/4/4 19:17:00
--  

根据每月,考虑闰年,1,3,5,7,8,10,12月为31日,2月为28,29,其他为30天。

 

在帮助中查找new date(年,月,日)的用法,比照即可。


--  作者:ljlhpop
--  发布时间:2016/4/4 19:28:00
--  
这个方法似乎复杂了点,可否根据前面的日期,加上一个月,再减去一天? 不知道具体怎么弄
--  作者:ljlhpop
--  发布时间:2016/4/4 20:10:00
--  
红袍大师今天休息了么
--  作者:qwz405
--  发布时间:2016/4/4 20:42:00
--  
http://www.foxtable.com/help/index.html?n=2720.htm

DataColChanged事件,大概这样写,供参考,可能运行不了,修改修改~

Select Case e.DataCol.Name
    Case "转账日期"
        If e.NewValue Is Nothing Then
            e.DataRow("所属日期结束") = Nothing
        Else
            dim dt as date = e.DataRow("转账日期")
            dim y as Integer = dt.year
            dim m as integer = dt.month
            Dim dt2 As New Date(y, m, Date.DaysInMonth(y,m))     \'获取该月的最后一天
             e.DataRow("所属日期结束") = dt2
        End If
End Select

--  作者:ljlhpop
--  发布时间:2016/4/4 21:45:00
--  
先谢谢了,菜鸟心急,,望各位大师见笑
--  作者:大红袍
--  发布时间:2016/4/5 0:16:00
--  
Select Case e.DataCol.Name
    Case "年", "月", "日"
        If e.NewValue Is Nothing Then
            e.DataRow("所属日期结束") = Nothing
        Else
            Dim y As Integer = e.DataRow("年")
            Dim m As Integer = e.DataRow("月")
            Dim dt As New Date(y, m, Date.DaysInMonth(y,m))     \'获取该月的最后一天
            e.DataRow("所属日期结束") = dt
        End If
End Select

--  作者:ljlhpop
--  发布时间:2016/4/5 7:31:00
--  
大师,小弟菜鸟,请问图中代码是要嵌套吗?如何嵌套合理?
图片点击可在新窗口打开查看此主题相关图片如下:dm.jpg
图片点击可在新窗口打开查看

--  作者:Hyphen
--  发布时间:2016/4/5 8:28:00
--  
参考:http://www.foxtable.com/help/topics/0224.htm
--  作者:ljlhpop
--  发布时间:2016/4/5 14:42:00
--  
谢谢大师,那我就那SELECT CASE 来重新写