看起来这个错误是如此普遍,以至于许多现有的解决方案都解决了不同的问题。
在我的例子中,我创建了一个在 Excel 2010 中有效但在 Excel 2007 中无效的宏。
以下是代码摘要:
cn = "ODBC;Driver={SQL Server Native Client 10.0};Server=serverName;Database=dbName;Trusted_Connection=yes;"
sql = "select top 10 * from tableName"
Dim S As Worksheet
Set S = ActiveWorkbook.Sheets("Medical")
With S.QueryTables.Add(Connection:=cn, Destination:=S.Range("B1"))
.CommandText = sql
.Refresh BackgroundQuery:=False
End With
此代码在 Excel 2010 中完美执行,但在 Excel 2007 中出错。
我需要更改 2007 年的连接字符串结构,还是有其他问题在起作用?