excel - 通过后台查询刷新多个 ODBC 连接
问题描述
我正在使用一组脚本,这些脚本通过 ODBC 从 iSeries 中提取大量不同的数据。
ActiveWorksheets.RefreshAll
不起作用,因为它没有足够的时间来运行后台查询
我尝试了以下方法,但无济于事
Dim qry As Connections
'Set qry =
For Each qry In ActiveWorksheets.Connections
qry.BackgroundQuery = False
qry.RefreshAll
DoEvents
Next qry
这给了我预期的Error 424
对象。我不希望在Set qry =
这里使用,因为我需要运行 30 个不同的连接
让我们暂时称它们为 connection1、connection2 等,因为它们的名字到处都是
是在数据导入之前停止后台查询、刷新、激活后台查询的最简单选项,还是有更好的方法?
我已经查看了所有内容-但找不到有关多个 ODBC 连接的信息
编辑:
Dim qry As WorkbookConnection
For Each qry In ActiveWorkbook.Connections
qry.Refresh
DoEvents
Next qry
解决方案
我相信你的
Dim qry As Connections
应该读
Dim qry As WorkbookConnection
ActiveWorksheets.Connections .Item 属性返回WorkbookConnection类型的对象。如果您尝试一次刷新一个连接,如您的For Each
语句所示,则该对象表示具有类似方法的单个连接,Refresh
而不是所有连接的集合。
推荐阅读
- python - 使用 lambda 获取 s3 对象时出错:ClientError:调用 GetObject 操作时发生错误(AccessDenied):访问被拒绝
- string - Helm 将字符串转换为管道以在 IF 检查中有效
- javascript - 如何使用 HTML 或 JS 在 PC 或 Mac 上更改浏览器选项卡颜色
- flutter - dart 说“不可为空的变量必须在使用前初始化”,即使在使用 if 分配之后,else 块
- kubernetes - kubernetes 使用 YAML 时如何知道镜像在哪里?
- cmake - 为什么 cmake 不能使用 find_library 命令从 windows sdk 中找到库?
- javascript - 使用带有 useState 的回调函数
- python - monodepth2 with python:调整大小后得到奇怪的输出文件
- c# - 函数处于无限循环中,但应被 foreach 循环阻塞
- java - java项目无法通过JDBC连接MYSQL,找不到com.mysql.cj.jdbc.Driver