以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求一段代码。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=32843) |
||||
-- 作者:lc_guo -- 发布时间:2013/5/9 10:09:00 -- 求一段代码。 小弟对这段代码多次尝试编写,却仍然失败了,再次向各位大神求助。 表格如图所示,因为是一个分统计表,需要每个月更新表中内容,所以表中每一行都应该每个月更新一次。 表中列的公式为:累计折旧=月折旧金额*已折旧月份。已折旧月份=当前日期的月份-购置日期的月份。 当当前日期每多一个月的时候,已折旧月份相应增加一个月。 求大神帮忙一下。。。 ![]() ![]() |
||||
-- 作者:Bin -- 发布时间:2013/5/9 10:11:00 -- 不是很懂你的意思. |
||||
-- 作者:don -- 发布时间:2013/5/9 10:23:00 -- 发文件,给了结. |
||||
-- 作者:lc_guo -- 发布时间:2013/5/9 10:33:00 -- 简单说就是,已折旧月份的计算,为当前的日期的月份-购置时间的月份。 比如,现在是2013.5.9,购置时间是2012.9.5那么已折旧月份就为,8个月。 当再过一个月,比如到了2013.6.9,那么这一行数据的已折旧月份就变为 9个月。 |
||||
-- 作者:don -- 发布时间:2013/5/9 10:40:00 -- 纸上不谈兵 |
||||
-- 作者:Bin -- 发布时间:2013/5/9 10:48:00 -- 已折旧月份=当前日期的月份-购置日期的月份。 这个不要用表达式列,用代码实现 然后每次加载执行下面代码 for each dr as datarow in datatables("XX").datarows if DR.IsNull("当前日期的月份")=false andalso DR.IsNull("购置日期的月份")=false then DR("已折旧月份")=DR("当前日期的月份").Month-Date.Today.Month end if next |
||||
-- 作者:lc_guo -- 发布时间:2013/5/9 10:48:00 --
开发者密码guo890630 |
||||
-- 作者:lc_guo -- 发布时间:2013/5/9 11:00:00 -- 呃,可能没明白我的意思。图上仅有的列,是已折旧月份和购置时间。 当前时间是指电脑记载的当天的日期,并无该列。购置时间是手动填写的一个精确到日的日期。 而已折旧月份是通过以上两者计算出来的。 |
||||
-- 作者:gsnake -- 发布时间:2013/5/9 11:35:00 -- 不知你的数据是什么版的SQL |
||||
-- 作者:lc_guo -- 发布时间:2013/5/9 11:44:00 -- sql2005啊。 |