【发布时间】:2013-03-22 00:15:31
【问题描述】:
我不久前创建了一个当前 ODBC 链接,用于查询 Excel 文件。我现在想做的是通过工作簿中的每个 ODBC 连接并更新连接字符串,以便它使用另一个相同名称的 .xls 文件所在的路径。
换句话说,我在 Excel 中看到的当前连接字符串(数据>连接>连接>1stConn 属性>定义选项卡>连接字符串)如下:
DSN=Excel Files;DBQ=C:\TEST\CurrentQuarter.xls;DefaultDir=C:\TEST;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;
我希望将其更改为:
DSN=Excel Files;DBQ=C:\OTHERTEST\CurrentQuarter.xls;DefaultDir=C:\OTHERTEST;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;
我试过这段代码:
Sub SwitchODBCSource()
Dim conn As WorkbookConnection
For Each conn In ActiveWorkbook.Connections
With conn
'I have tried without succes the following 2 properties, without any luck:
.CommandText = "DSN=Excel Files;DBQ=C:\OTHERTEST\CurrentQuarter.xls;DefaultDir=C:\OTHERTEST;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"
.Connection = "DSN=Excel Files;DBQ=C:\OTHERTEST\CurrentQuarter.xls;DefaultDir=C:\OTHERTEST;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"
End With
Next conn
Set conn = Nothing
End Sub
我是否在 Connection(.CommandText 或 .Connection)上使用了适当的方法?我感觉我不是,因为 VBA 向我抛出错误“对象不支持此属性或方法”
在这种情况下,使用的对象是 QueryTable。我应该更改 Object 并使用那个吗?我的印象是该用户不想连接到 .xls 文件..
任何帮助将不胜感激!
【问题讨论】:
标签: excel odbc connection-string vba