Access VBA

时间:2016-04-26 15:06:39

标签: sql ms-access access-vba

据我所知,这个strSQL语句格式正确。我过去使用过类似的代码而没有任何问题。但是当我运行它时,我得到了一个

  

运行时错误3075 - 语法错误(查询中缺少运算符   表达' BucketID = CA.CAD.BAX.0.3.0.CY AND   MaxofMarkAsofDate =#7 /二千零十四分之二十零#'

错误消息。这令人沮丧地含糊不清,我无法弄清楚strSQL格式化的问题。

  strSQL = "SELECT * FROM FXData WHERE BucketID=" & Forms!Correlation.cboCurve2.Value & " AND MaxOfMarkAsofDate=#" & MaxOfMarkAsofDate & "# ORDER BY MaxOfMarkasOfDate "

Debug.Print strSQL

Set rs = CurrentDb.OpenRecordset(strSQL, Type:=dbOpenDynaset, Options:=dbSeeChanges)
Set rs2 = CurrentDb.OpenRecordset("HolderTable")

1 个答案:

答案 0 :(得分:2)

错误消息的这一特定部分:

  

BucketID = CA.CAD.BAX.0.3.0.CY

显示您的BucketID是字符串而不是数字,因此您应该用引号包围它:

strSQL = "SELECT * FROM FXData WHERE BucketID='" & Forms!Correlation.cboCurve2.Value & "' AND MaxOfMarkAsofDate=#" & MaxOfMarkAsofDate & "# ORDER BY MaxOfMarkasOfDate "