打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel ADO 连接自身内存无法释放内存的一种解决方案
ADO连接自身时有个严重的BUG,多次运行查询语句是会造成内存无法释放,并且会内存占用迭加。
所以有经验的人会尽量避免这种情况,分为两个文件,一个储存数据,一个运行代码。
但很多时候,又不得不进行“ADO 连接自身”这样的操作。那如何解决这个问题就成了一个很头痛的事情。
既然分为两个文件,只要不是“ADO 连接自身”就不会有这个BUG,那么我们可以写几句代码骗一骗EXCEL。

  1. Sub 欺骗式查询()
  2.     Application.ScreenUpdating = False
  3.     Application.DisplayAlerts = False
  4.     ThisWorkbook.ChangeFileAccess xlReadOnly    '转为只读
  5.     查询
  6.     ThisWorkbook.ChangeFileAccess xlReadWrite
  7.     Application.DisplayAlerts = True
  8.     Application.ScreenUpdating = True
  9. End Sub
复制代码
ThisWorkbook.ChangeFileAccess xlReadOnly   
关键代码就这一句,实现了欺骗效果,
其他两句作用屏蔽 屏幕刷新,避免出现“只读”字样;禁止提示,避免出现询问对话框
看一下两个程序的运行10次的后效果----内存占用相差 10倍。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
自杀代码
神奇的代码! | 一打开工作簿,文件就自杀了,这太怪异变态了!难道Excel文件会自个儿kill m...
Excel办公小助手
Excel [原创]另类方法解决ADO操作EXCEL时关闭对象仍不能释放内存问题
ADO访问Excel数据
[Excel] VBA合并不同工作表的数据
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服