设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 526|回复: 6
打印 上一主题 下一主题

有没有更快一点的办法?

[复制链接]
跳转到指定楼层
1#
发表于 2002-5-10 03:59:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
详见附件。
过程说明: 如借方某一金额与贷方某一金额相同,则两笔记录同时勾销。只能一对一进行勾销。
请教:1.有没有更快一点(或更简洁)的方法?
      2.如何用最简单的代码将多个表导出到同一Excel文件的不同工作簿中?文件下载
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2002-5-10 04:12:00 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
3#
发表于 2002-5-11 08:00:00 | 只看该作者

快速勾销方法

Sub EditX()

    Dim dbs As Database
    Dim rst1, rst2 As DAO.Recordset
   
    Set dbs = CurrentDb
    Set rst1 = dbs.OpenRecordset("SELECT 借方, 是否勾销 FROM UF WHERE (借方<>0) ORDER BY 借方", dbOpenDynaset)
    Set rst2 = dbs.OpenRecordset("SELECT 贷方, 是否勾销 FROM UF WHERE (贷方<>0) ORDER BY 贷方", dbOpenDynaset)
   
    rst1.MoveFirst
    rst2.MoveFirst
   
    Do

        Select Case (rst1!借方 - rst2!贷方)
            Case Is = 0 '两边相等
                rst1.Edit
                rst1!是否勾销 = True          '借方做勾销记号
                rst1.Update
                rst2.Edit
                rst2!是否勾销 = True          '贷方做勾销记号
                rst2.Update
               
                '两个指针都向后移动
                If Not rst1.EOF Then rst1.MoveNext
                If Not rst2.EOF Then rst2.MoveNext
               
            Case Is < 0 '借方数字较小
                '借方指针向后移动
                If Not rst1.EOF Then rst1.MoveNext
               
            Case Is > 0 '贷方数字较小
                '贷方指针向后移动
                If Not rst2.EOF Then rst2.MoveNext
        End Select
        
    Loop Until rst1.EOF Or rst2.EOF '任一记录集到达末尾则不再循环

   Set rst1 = Nothing
   Set rst2 = Nothing
   'dbs.Close

End Sub
4#
发表于 2002-5-11 08:08:00 | 只看该作者
妙,高手就是高手,程序就是招牌,难怪站长对你推崇备至!
5#
 楼主| 发表于 2002-5-12 17:33:00 | 只看该作者
AlexLiu 的思维不错。多谢。
还有一点本人上次未说清,就是时间靠近者优先勾销。
再就是频繁判断是否到表的最后也会影响执行的速度。

欢迎继续交流指教。
6#
发表于 2002-5-13 22:12:00 | 只看该作者
再就是频繁判断是否到表的最后也会影响执行的速度。

是的,我当时作的时候没有测试,应该是用ON ERROR来处理才对。
7#
发表于 2002-5-16 06:23:00 | 只看该作者
ALEX贴出来东西看起来很方便,注释详细.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-22 20:29 , Processed in 0.116871 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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