在本网站,以及相关的ACCESS技术站点上,大家已经知道要么使用查询,要么使用ADO来实现累计余额的计算,但是作者皆写明只适用原表,筛选之后会出错。看了一下,以查询为例,当前的办法大致是采用id和日期为准绳实现累计余额计算。一旦进行筛选,累计的余额就不准确了。那么问题来了,我们能否自建一个余额ID实现累计余额的计算??
比如,在查询中新建计算字段命名为"余额ID",余额ID:Foramt&([日期],"yyyymmdd")&[ID],接下来用DSUM函数便可很轻松的计算累计余额。
用查询创建累计余额的方法(以下内容摘自本站一位作者名字“不详”的文章):
一、先建立表(假设保存名为《财务收支记账》),表除必须有日期、收入、支出、摘要等字段外,还要加一个自动编号字段“ID”。设计好后录入数据。
二、建立查询。查询中加入必要字段,然后在一空白字段写入表达式--
余额: nz(DSum("收入","财务收支记账","[日期]<#" & [日期] & "#"))+DSum("收入","财务收支记账","[日期]=#" & [日期] & "# And [ID]<=" & [ID])-nz(DSum("支出","财务收支记账","[日期]<#" & [日期] & "#"))-DSum("支出","财务收支记账","[日期]=#" & [日期] & "# And [ID]<=" & [ID])。
三、运行这个查询,就可以看到你需要的“余额”字段及其累计余额值了。
我想,可以用余额ID来代替ID运行查询……点击下载此附件