日期:2014-05-16  浏览次数:20871 次

请教access列计算的递归,谢谢!
access数据库中的一个表格,其中有两列。第一列字段名为Cx,是给定的一列数;第二列字段名为Dx,一列空白。现在想用编程实现第二列数据的填充,规则为Dx的第一行值=Cx第一行值,Dx第二行值=Cx前两行值相加,Dx第三行值=Cx前三行值相加...一直到结束。
  我的问题在于access不支持单元格引用,那如何取出Cx字段的相应数值呢?递归又该如何实现?
  我自己有个朦胧的想法是,用ADO连接数据库文件,用select取出相应字段值,不知这样行吗?但总是想不清楚该如何写代码,新手初学,思路比较乱,恳请各位赐教!

------解决方案--------------------
排序字段是什么? 可以使用DSUM来实现,一句UPDATE就可以了。 


当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
------解决方案--------------------
兄弟你这思路错了
SQLStmt = "SELECT * FROM CL1 " & "WHERE ID = " & i
ID 要是主键的话只能取出一条记录,用DSum干嘛,你要真这样用至少
改成ID<=i才行,你这样效率也太低了

DSum是个域函数,他应该是方便窗体上的控件取汇总用的,SQL中也可用来统计
既然你要写代码,就直接算就行了
rs.Open "你的表", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
n=0
rs.movefirst
For i = 0 To 105
n=n+rs("CL1")
rs("Dx")=n
rs.movenext
next i