我正在尝试运行一个Access 2013
传递查询,该查询从我的 VBA 语法中获取两个参数。当我运行它时,我得到一个编译错误
预期语句结束
“和”
应该如何修改这个 sub 才能使它成为有效的 sql 字符串?
Public Sub GeneratePassThroughForJob()
Dim qdfPassThrough As DAO.QueryDef, MyDB As Database
Dim strConnect As String, d1 As String, d2 As String, Dim SQL As String
d1 = Format(Forms!DataPull!txtd1, "YYYY-MM-DD")
d2 = Format(Forms!DataPull!txtd2, "YYYY-MM-DD")
If Not IsNull(CurrentDb.QueryDefs("qrySQLPass").SQL) Then
CurrentDb.QueryDefs.Delete "qrySQLPass"
End If
Set MyDB = CurrentDb()
Set qdfPassThrough = MyDB.CreateQueryDef("qrySQLPass")
strConnect = "ValidSQLServerConnectionString"
qdfPassThrough.Connect = "ODBC;" & strConnect
SQL = "Select fname, lname, address from einfo where startdate between "&d1&" and "&d2&""
qdfPassThrough.SQL = "Select fname, lname, address from einfo where startdate between "&d1&" and "&d2&""
qdfPassThrough.ReturnsRecords = False
qdfPassThrough.Close
Application.RefreshDatabaseWindow
DoCmd.OpenQuery "qrySQLPass", acViewNormal, acReadOnly
DoCmd.Maximize
End Sub