Office中国论坛/Access中国论坛

标题: 求助:VB打印ACCESS报表多份,无法释放内存! [打印本页]

作者: GDLJLYF    时间: 2015-1-27 15:25
标题: 求助:VB打印ACCESS报表多份,无法释放内存!
VB打印ACCESS报表多份,无法释放内存!求助高手指点,谢谢!
[attach]55536[/attach]
'用循环方式进行多份打印,X数值来自AA文本框

    Dim X%
     X = AA
    For X = 1 To AA

       Dim objacc As Object
        Set objacc = CreateObject("access.application")
        objacc.OpenCurrentDatabase "" + App.Path + "\data\快递管理.mdb"           '要打印报表的数据库数径
        objacc.DoCmd.OpenReport Comboxkdm '打印与Combo对应的报表名称
                 Next
           objacc.Quit
                Set objacc = Nothing      

AA是文本框“份数”
[attach]55540[/attach]

作者: zhidao    时间: 2015-1-27 15:51
没有释放内存应该是关闭语句没有运行,你再看看你的循环语句,是否有错误,
作者: GDLJLYF    时间: 2015-1-27 15:55
zhidao 发表于 2015-1-27 15:51
没有释放内存应该是关闭语句没有运行,你再看看你的循环语句,是否有错误,

就是打印多少份就访问ACCESS多少次,但是打印完后,ACCESS后台没有关闭,没法释放,如果打了几十份,机子就拖得垮掉了!不知怎么改了!
作者: zhidao    时间: 2015-1-27 16:00
你把附件传上来,我看看
作者: 风中漫步    时间: 2015-1-27 16:02

            objacc.Quit
                 Set objacc = Nothing   
  Next
作者: roych    时间: 2015-1-27 16:19
GDLJLYF 发表于 2015-1-27 15:55
就是打印多少份就访问ACCESS多少次,但是打印完后,ACCESS后台没有关闭,没法释放,如果打了几十份,机子 ...

  1. Dim X%
  2.      X = AA
  3.     For X = 1 To AA

  4.        Dim objacc As Object
  5.         Set objacc = CreateObject("access.application")
  6.         objacc.OpenCurrentDatabase "" + App.Path + "\data\快递管理.mdb"           '要打印报表的数据库数径
  7.         objacc.DoCmd.OpenReport Comboxkdm '打印与Combo对应的报表名称
  8. objacc.Quit
  9. Set objacc = Nothing
  10.                  Next
复制代码

放在循环体内才可以及时删除组件的。
作者: GDLJLYF    时间: 2015-1-27 16:39
风中漫步 发表于 2015-1-27 16:02
objacc.Quit
                 Set objacc = Nothing   
  Next

这样会出错呢,老兄!
作者: 风中漫步    时间: 2015-1-27 16:51
GDLJLYF 发表于 2015-1-27 16:39
这样会出错呢,老兄!

提示是什么?
作者: GDLJLYF    时间: 2015-1-27 17:01
zhidao 发表于 2015-1-27 16:00
你把附件传上来,我看看

谢谢!终于可以了,今天上午试了一上午,都不行,刚才一试又行了!再次谢谢!
作者: GDLJLYF    时间: 2015-1-27 17:01
风中漫步 发表于 2015-1-27 16:02
objacc.Quit
                 Set objacc = Nothing   
  Next

谢谢!终于可以了,今天上午试了一上午,都不行,刚才一试又行了!再次谢谢!
作者: GDLJLYF    时间: 2015-1-27 17:04
roych 发表于 2015-1-27 16:19
放在循环体内才可以及时删除组件的。

谢谢!终于可以了,今天上午试了一上午,都不行,刚才一试又行了!再次谢谢!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3