Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何计算余额

李双军  发表于:2008-03-16 20:16:47  
复制

在一个表中,有借方与贷方,余额需要计算,如何在VBA中用代码实现自动计算

 

 

Top
竹笛 发表于:2008-03-16 22:27:21
你要什么样的结果?请说一下.

李双军 发表于:2008-03-17 10:18:27

点击下载此附件

通过VBA自动计算余额并填入表中



竹笛 发表于:2008-03-17 10:38:42
感觉可以利用查询分组进行计算,表中不该有余额字段。

李双军 发表于:2008-03-17 11:31:11

计算规则:

第一条记录的余额=第一条记录的借方-第二条记录的贷方

第二条记录到最后记录的余额是这样的计算:

本条记录的余额=上一条记录的余额+本条记录的借方-本条记录的贷方

 



竹笛 发表于:2008-03-18 10:54:48

Public Sub calYuE()
    Dim Db As ADODB.Connection
    Dim x As Currency    '上一条记录的余额
    Set Db = New ADODB.Connection
    Set rst = New ADODB.Recordset

    If MsgBox("你确定要计算余额吗?", vbYesNo + vbInformation, "提示") = vbYes Then
        '指定rst的连结数据库为目前打开的数据库
        rst.ActiveConnection = CurrentProject.Connection
        rst.Open "会计分录簿", , adOpenKeyset, adLockOptimistic, adCmdTable
        rst.MoveFirst
        x = 0
        Do Until rst.EOF
            If IsNull(rst!借方金额) Then    '即借方金额为0
                rst!余额 = x - rst!贷方金额
            Else    '即贷方金额为0
                rst!余额 = x + rst!借方金额
            End If
            rst.Update
            x = rst!余额
            rst.MoveNext
        Loop
        rst.Close
        Set rst = Nothing
    End If
End Sub



竹笛 发表于:2008-03-18 11:17:15
李双军 发表于:2008-03-18 12:50:41
谢谢

笔耕 发表于:2011-02-20 11:05:28
不错,学习了

gunfire 发表于:2011-03-07 15:08:49
高手呀

杂牌军 发表于:2016-05-05 16:36:24
实用,好!

总记录:10篇  页次:1/1 9 1 :