将变量传递到sql查询时,ms访问数据类型在条件表达式中不匹配

时间:2019-04-18 16:55:37

标签: sql ms-access access-vba

我得到的数据类型与以下代码不匹配。但是,当我进行调试打印时,看起来还不错。

Dim strSQL As String
Dim StartDate As Date
Dim EndDate As Date

StartDate = “1/1/2019”
EndDate = “2/1/2019”


strSQL = SELECT Table1.Start INTO 1 FROM Table1 WHERE (((Table1.Start) BETWEEN ‘“ & StartDate & “‘“ & “ AND ‘“ & EndDate & “‘));”

Debug.Print strSQL

Docmd.RunSQL strSQL 

1 个答案:

答案 0 :(得分:1)

对日期和日期值表达式使用正确的语法:

Dim strSQL As String
Dim StartDate As Date
Dim EndDate As Date

StartDate = #1/1/2019#
EndDate = #2/1/2019#


strSQL = "SELECT Table1.Start INTO 1 FROM Table1 WHERE (((Table1.Start) BETWEEN #" & Format(StartDate, "yyyy\/mm\/dd") & "# AND #" & Format(EndDate, "yyyy\/mm\/dd") & "#);"