以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何计算日期值算账龄?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=29168)

--  作者:zerov
--  发布时间:2013/3/1 10:08:00
--  如何计算日期值算账龄?
   财务账龄是从:“最后一笔应收款形成的时间点”至统计之日时的时间月份之差如何算?小于一年显示3、6、9月,大于一年的按“一年、二年、三年”来算。

   例如A项目最后一笔确认收入100万元时间是在2010年10月1月,且累积确认收入500万元。并且此2011年5月回款50万元,2012年9月回款100万元,实际应收款350万元。这笔应收款的账龄为:现在的时间点2013年2月28日-2010年10月1日=2年4个月或2年。在fox中如何计算?

--  作者:狐狸爸爸
--  发布时间:2013/3/1 10:14:00
--  

我也看不懂,看看这里的内容对你是否有帮助:

 

http://www.foxtable.com/help/topics/2647.htm

 


--  作者:zerov
--  发布时间:2013/3/1 12:00:00
--  回复:(muhua)做个简单的例子发上来吧。 不知道你的...
例子已经上传,计算账龄。请指点。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:统计项目.table



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

[此贴子已经被作者于2013-3-1 12:00:49编辑过]

--  作者:zerov
--  发布时间:2013/3/1 13:16:00
--  回复:(muhua)在回款表中的DataColChanged事件设置:...
为什么只算了一个项目呀?

还有,如果想统计到从最后一笔确认收入至指定日期点(如在窗口输入2012-12-31),如果做?还应考虑到没有确认收入但又有回款的情况呢?

--  作者:狐狸爸爸
--  发布时间:2013/3/1 13:51:00
--  

你这个天天都要算,不要用事件,用按钮,按钮代码:

 

For Each pr As DataRow In DataTables("应收账龄表").DataRows
    Dim flt As String = "编号 = \'" & pr("编号") & "\' And 名称 = \'" & pr("名称") & "\'"
    Dim drs As List(of DataRow) = DataTables("确认收入").Select(flt,"确认月份 Desc")
    If drs.count > 0 Then
        Dim y,m,d As Integer
        DateYMD(drs(0)("确认月份"),Date.Today,y,m,d)
        pr("账龄") = y & "年" & m & "月"
    End If
Next

 

 


--  作者:zerov
--  发布时间:2013/3/1 14:03:00
--  回复:(狐狸爸爸)你这个天天都要算,不要用事件,用...
谢谢老大,基本解决,还现在还有一个小小问题,刚才在窗口中绑定的表,列的顺序全乱了(系统自动将表达式列移到表后面了)。如下图,这是怎么回事?

原图
图片点击可在新窗口打开查看此主题相关图片如下:账龄前.png
图片点击可在新窗口打开查看

窗口绑定后的列
图片点击可在新窗口打开查看此主题相关图片如下:账龄乱.png
图片点击可在新窗口打开查看