gpt4 book ai didi

Excel 查询表刷新仅有效一次

转载 作者:行者123 更新时间:2023-12-02 10:31:09 24 4
gpt4 key购买 nike

我正在使用 VBA 将 ListObject 添加到 Excel 2007 工作簿。 ListObject 后面有一个 QueryTable,链接到 Access 数据库。代码如下所示:

Dim l As ListObject
Dim c As ADODB.Connection
Dim r As ADODB.Recordset

Set c = New ADODB.Connection
c.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=myAccessDatabasePath;Persist Security Info=False;"

Set r = New ADODB.Recordset
r.Open "Select * From myTable", c

Set l = ActiveSheet.ListObjects.Add(xlSrcQuery, r, True, xlYes, Range("A1"))
l.QueryTable.Refresh False

'this line causes an error
l.QueryTable.Refresh False

本质上,问题是我无法多次刷新表。数据和表设计功能区上的刷新按钮均呈灰色。我在不使用 Listobjects(即仅 QueryTables)的情况下尝试了类似的代码,但遇到了同样的问题。我尝试刷新底层连接对象,但再次遇到同样的问题。

我花了一上午的时间在谷歌上搜索,但没有结果。

这是一个错误、设计行为还是(很可能)我做了一些愚蠢的事情?

提前非常感谢,

史蒂夫

最佳答案

好的,我已经开始工作了。宏记录器(感谢迪克的建议)实际上曾经很有用。

Dim s As Worksheet
Dim l As ListObject

Set s = ActiveSheet
Set l = s.ListObjects.Add(xlSrcExternal, "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Data Source=myDatabasePath;", True, xlYes, Range("A1"))

l.QueryTable.CommandType = xlCmdTable
l.QueryTable.CommandText = "mytable"

l.QueryTable.Refresh False

'this now works!
l.QueryTable.Refresh False

关于Excel 查询表刷新仅有效一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16460552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com