Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
设备折旧的计提方法,启用日期的次月1日开始计提,到停用日期的当月最后一天为止。用代码如何实现折旧开始和折旧结束的日期?请各位老师指教,谢谢
下载信息 [文件大小: 下载次数: ] | |
![]() |
表属性的 DataColChanged 事件中
Dim Days As Integer
Days = Date.DaysInMonth(e.DataRow("停用日期").Year,e.DataRow("停用日期").Month)
Select Case e.DataCol.Name
Case "启用日期"
If e.DataRow("折旧开始").Year = Date.Today.Year
If e.DataRow("折旧开始").Month <> 12
e.DataRow("折旧开始")= e.DataRow("启用日期").Year & "-" & e.DataRow("启用日期").Month+1 & "- 01"
Else
e.DataRow("折旧开始")= e.DataRow("启用日期").Year +1 & "-01-01"
End If
Case "停用日期"
e.DataRow("折旧结束")= e.DataRow("停用日期").Year & "-" & e.DataRow("停用日期").Month & "-" & Days
End Select
红字部分改成蓝字的就可以了
将代码作如下修改后,前几行的日期显示正确,但是马上出现出错提示,请各位老师指教,谢谢!!
Dim Days As Integer
Days = Date.DaysInMonth(e.DataRow("停用日期").Year,e.DataRow("停用日期").Month)
Select Case e.DataCol.Name
Case "启用日期"
If e.DataRow("折旧开始").Month < 12
e.DataRow("折旧开始")= e.DataRow("启用日期").Year & "-" & e.DataRow("启用日期").Month+1 & "- 01"
Else
e.DataRow("折旧开始")= e.DataRow("启用日期").Year +1 & "-01-01"
End If
Case "停用日期"
e.DataRow("折旧结束")= e.DataRow("停用日期").Year & "-" & e.DataRow("停用日期").Month & "-" & Days
End Select
是我搞错了,正确的应该是下面的:
Dim Days As Integer
Days = Date.DaysInMonth(e.DataRow("停用日期").Year,e.DataRow("停用日期").Month)
Select Case e.DataCol.Name
Case "启用日期"
If e.DataRow("折旧开始").Month <> 12
e.DataRow("折旧开始")= e.DataRow("启用日期").Year & "-" & e.DataRow("启用日期").Month+1 & "- 01"
Else
e.DataRow("折旧开始")= e.DataRow("启用日期").Year +1 & "-01-01"
End If
Case "停用日期"
e.DataRow("折旧结束")= e.DataRow("停用日期").Year & "-" & e.DataRow("停用日期").Month & "-" & Days
End Select