Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 财务应用

关于账龄的修改

时 间:2018-02-10 21:46:18
作 者:半夜罗   ID:36948  城市:成都
摘 要:每月余额列表,交叉表账龄分析
正 文:

      我在本站关于类似的示例有三个,这与我的工作有关。所以就经常研究这方面的问题,如何提高速度,前面的例子经实际使用,效果虽然不错,能解决问题。但随着记录数据的增多,系统会逐渐减慢,直到无法忍受。所以不得不改变思路。尽量减少过程浓缩代码。终于以最少的过程实现目标。本想修改前面的例子,但本站提示超过30天的帖子不能修改。没办法,只好重新再发一贴。这个方法的速度如果不加进度条(完全可以不用进度条,速度会更快一倍有余,进度条只为以后数据量超大时使用准备的),其本身速度极快。除了核心计算部分,其他都用SQL语句查询,方便修改适应在不同的数据库中。更便于处理错误。

核心代码:

    '-------------打开记录集
    strSQL = "Select * FROM 销售账龄_计算表 orDER BY 姓名,月份"
    Set rst = CreateObject("ADODB.recordset")
    rst.Open strSQL, CurrentProject.Connection, 1, 3
    rst.MoveFirst                                                       '从第一条记录开始
    Do Until rst.EOF
        If FD <> rst!姓名 Then                                          '这里是要按往来代码的,否则此段代码可以不要
            FD = rst!姓名
            sum收款 = Nz(DSum("[收款加费用]", "销售账龄_计算表", "姓名='" & FD & "'"), 0)
        End If

        If Nz(rst!金额, 0) > Nz(rst!欠款, 0) Then rst!收款 = rst!金额
        If Nz(rst!金额, 0) > Nz(rst!欠款, 0) And sum收款 < rst!金额 Then rst!收款 = sum收款
        If Nz(rst!金额, 0) = 0 Then rst!欠款 = 0

        rst!欠款 = Nz(rst!金额, 0) - Nz(rst!收款, 0)
        sum收款 = sum收款 - Nz(rst!收款, 0)

        rst.Update
        sum收款 = sum收款

        rst.MoveNext
    Loop
    rst.Close
    Set rst = Nothing

暂时我还没有发现需要修改的地方。不过也请各位大神检查,如果有不足敬请帮忙。

附   件:

点击下载此附件



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助