|
请教各位高手:
编写什么代码, 可以把表中每样物品的 [上日结存数]+[本日收入数]-[本日发出数] 累加后填入 [结存数量] ?
注意: db1.mdb里的[月结明细表]是生成表, 里面的[日期]、[物品]、[收入数量]、[发出数量]早已写好数据,而某些物品有上月结存数(2003-9-30 的可乐和雪碧)
所以要求一段代码可以自动填入每样物品在每个日期的[结存数量]
我比较认同 仁兄"盗到稻"的代码(如下),但有一个缺点: 这代码只解决了"单一"的余额,在我的db1.mdb里面有多种物品的进货和出货,如何修改代码,使得"每样物品每条记录都一次性地"自动填入结存数量呢?
可参考一下
Public Sub 分类帐补余额_贷方余额()
'本宏为贷方余额者,若生成贷方余额,则以负号表示.
Dim varBalance As Double, strLedger As String
Dim rs1 As Recordset
Set rs1 = New ADODB.Recordset
'指定rs1的联接数据库为目前打开的数据库
rs1.ActiveConnection = CurrentProject.Connection
On Error GoTo 错误式
strLedger = InputBox("请输入你要补余额的分类帐表的名称", "基础理论")
'使用open方法打开刚生成的表 [? ?分类帐]
rs1.Open strLedger, , adOpenKeyset, adLockOptimistic, adCmdTable
'先设余额等于零
varBalance = 0
'使用Do Loop循环在表记录集合中逐笔往下计算本日余额
Do Until rs1.EOF
'rs1.Cancelupdate
rs1("余额") = rs1!贷方金额 - rs1!借方金额 + varBalance
rs1.Update
varBalance = rs1!余额
rs1.MoveNext
Loop
MsgBox "余额字段已替你补好了,你不必自己计算"
DoCmd.SelectObject acTable, strLedger, True
DoCmd.OpenTable strLedger, acViewNormal, acEdit
DoCmd.GoToControl "余额"
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|