设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3115|回复: 10
打印 上一主题 下一主题

[Access本身] 自动填入每样物品的结存数问题

[复制链接]
跳转到指定楼层
1#
发表于 2003-10-17 18:48:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位高手:

    编写什么代码, 可以把表中每样物品的 [上日结存数]+[本日收入数]-[本日发出数] 累加后填入 [结存数量] ?

   注意: 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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-10-17 23:50:00 | 只看该作者

三个查询一条宏:(

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
发表于 2008-6-26 13:01:47 | 只看该作者
唉难罗先学习下思路
4#
发表于 2008-6-29 19:28:53 | 只看该作者
学习 ! 学习 !
5#
发表于 2008-6-29 21:54:29 | 只看该作者
用记录集循环效率不高
6#
发表于 2008-11-16 10:37:07 | 只看该作者
好东西顶
7#
发表于 2008-11-16 10:37:30 | 只看该作者
好东西顶
8#
发表于 2008-11-17 18:47:16 | 只看该作者
看看了呀
9#
发表于 2010-3-30 07:50:55 | 只看该作者
是好东东啊。
10#
发表于 2010-6-8 14:41:14 | 只看该作者
2# 唐小小

同一日期发生多笔数据会发生混乱。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-28 09:17 , Processed in 0.098419 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表