将SQL select查询更改为VBA

时间:2013-06-03 14:37:31

标签: sql ms-access

我正在尝试将查询转换为使用VBA选择邮件合并数据的功能。现在我有一个内置访问的查询,它使用两个参数:

PARAMETERS startdate DateTime, enddate DateTime;

我基本上想在运行时重新创建该查询以填充字母。

date1 = InputBox("Please enter the start date, e.g. 5/28", "Please enter the start date")
date2 = InputBox("Please enter the end date, e.g. 6/28", "Please enter the end date")   

date1 = date1 & "/" & thisYear
date2 = date2 & "/" & thisYear


sqlstatement:="SELECT * FROM [Customer Data] WHERE [Customer Data].[Status]='Complete' AND [Customer Data].[CompletedBy] = '" & userID & "' AND [Customer Data].[Date Completed] Between " & date1 & " And " & date2 & ";"

我的“date1和date2之间”部分存在固有的错误,如果我删除该部分语句,查询工作正常,但我需要能够指定日期范围。现在它告诉我没有找到数据。那部分我做错了什么?

1 个答案:

答案 0 :(得分:1)

"' AND [Customer Data].[Date Completed] Between #" & date1 & "# And #" & date2 & "# ;"

正如您使用撇号来包围字符串数据一样,日期值应该用#括起来。发表您的意见,如果这没有帮助。