Access交流中心

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

累计余额查询

半夜罗  发表于:2019-03-23 18:29:10  
复制

缪炜  老师的http://www.accessoft.com/article-show.asp?id=9517《如何在查询中实现累计余额》非常实用,请教各位老师,要在这个基础上增加分组,又怎样修改?

'函数用途: 求累计结余金额

'输入参数: ID      对应查询中当前行ID字段的值

'           Balance 对应查询中的当前行结余金额的值

'使用注意: 必须以ID字段排升序,否则会出错

Public Function GetBalance(ID As Long, Balance As Currency) As Currency

    Static lngPreID As Long             '前次ID

    Static curPreBalance As Currency    '前次余额

   

    If ID > lngPreID Then

        curPreBalance = curPreBalance + Balance

    Else

        curPreBalance = Balance

    End If

    lngPreID = ID

    GetBalance = curPreBalance

End Function

这是缪炜老师的原码。想在原码的基础上增加按往来代码或其他文本型字段分组:

Public Function GetBalance(ByVal jsmc As String, ID As Currency, Balance As Currency) As Currency
    Static lngPreID As Currency             '前次ID
    Static curPreBalance As Currency    '前次余额
    Static wldm As String    '往来代码,以此分组,没有成功


    If ID > lngPreID Then
        curPreBalance = curPreBalance + Balance
    Else
        curPreBalance = Balance
    End If


    lngPreID = ID
    GetBalance = curPreBalance


End Function

谢谢!

 

Top
半夜罗 发表于:2019-03-24 14:27:05
这个函数有一个问题:当数据源修改后,查询的数据就会出现错误,要点击数据库工具“压缩和修复数据库”后才能恢复正常。

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