如果您需要更改查询的连接字符串,此宏将为活动工作簿中的所有查询更改它(您不必将代码存储在要更改的工作簿中)。
我包括两个示例连接字符串 - 一个提供 dsn,一个提供服务器/数据库。如果在创建新查询时您的 DSN 很好,请先尝试 DSN。如果您使用该版本,请调整 SQL Server 版本。
此外,一种具有标准安全性(uid、pwd),另一种使用基于 Windows 的安全性(受信任的连接)。酌情混合搭配。
Sub ChangeAddress()
Dim qt As QueryTable
Dim wks As Worksheet
Const strNEW_CONN_DSN As String = "ODBC;DSN=MyDSN;Description=MyDescription;UID=myid;PWD=mypwd;"
Const strNEW_CONN_SQL as String = "Driver={SQL Server Native Client 10.0};Server=myServerAddress;Database=myDB;Trusted_Connection=yes;"
For Each wks In ActiveWorkbook.Worksheets
For Each qt In wks.QueryTables
qt.Connection = strNEW_CONN_DSN
Next qt
Next wks
End Sub