我创建了一个基本的Sub来运行查询,并在单元格A1中的活动工作表中返回结果。
Sub MySub()
'Assemble the connection string
strDSN = "MyDSN"
strPass = "MyPass"
strUsername = "MyUser"
strConnection = "ODBC;DSN=" & strDSN & ";UID=" & strUsername & ";PWD=" & strPass
strQuery = "MyQuery"
With ActiveSheet.QueryTables.Add(Connection:=strConnection, Destination:=Cells(1, 1))
.CommandText = strQuery
.FieldNames = True
.RefreshStyle = 0
.AdjustColumnWidth = True
.Refresh BackgroundQuery:=False
End With
End Sub
此子项可与以下查询配合使用:
Select distinct TOP 3 Time FROM [WBServiceLogs]
如果我在SQL中声明一个变量,例如,sub将失败:
Declare @Shift INT SET @Shift = 100 Select distinct TOP 3 Time + @Shift FROM [WBServiceLogs]
我收到一个错误:Application-defined or object-defined error
查询本身是可以的,它在SQL Server Mgt Studio中运行良好。或例如通过ODBC WinSQL。
有什么建议吗?谢谢!