在Excel工作簿中,我与SQL Server数据库有多个连接。我以为我可以运行一个像下面的脚本那样的小脚本,但是它没有满足我的要求。我想刷新OLEDBConnection,并传入StartDate和EndDate,但实际上并没有与连接通信。
Sub RefreshWithDates()
Dim StartDate As Date
Dim EndDate As Date
StartDate = Sheets("Pivot_Summary").Range("B1").Value
EndDate = Sheets("Pivot_Summary").Range("B2").Value
With ActiveWorkbook.Connections("FMDDATA_HIST_SPLIT").OLEDBConnection
.CommandText = "SELECT * FROM RECONCILIATION.dbo.TBL_FMDDATA_HIST_SPLIT Where AsOfDate between '" & StartDate & "' & " And " & '" & EndDate & "'"
ActiveWorkbook.Connections("FMDDATA_HIST_SPLIT").Refresh
End With
End Sub
您的.CommandText
字符串在周围有错误AND
(请注意,它的颜色是蓝色...正在解析为VBA关键字And
)。
它应显示为:
"EXEC SELECT * FROM RECONCILIATION.dbo.TBL_FMDDATA_HIST_SPLIT
WHERE AsOfDate between '" & StartDate & "'" & " AND " & "'" & EndDate & "'"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句