以文本方式查看主题

-  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
--  求一段代码。

小弟对这段代码多次尝试编写,却仍然失败了,再次向各位大神求助。

表格如图所示,因为是一个分统计表,需要每个月更新表中内容,所以表中每一行都应该每个月更新一次。

表中列的公式为:累计折旧=月折旧金额*已折旧月份。已折旧月份=当前日期的月份-购置日期的月份。

当当前日期每多一个月的时候,已折旧月份相应增加一个月。

求大神帮忙一下。。。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20130509095510.png
图片点击可在新窗口打开查看

--  作者: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
--  
 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:联创管理系统.rar

开发者密码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啊。