0

我正在尝试将我的查询转换为使用 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 之间”部分存在固有问题,如果我删除语句的该部分,查询工作正常,但我需要能够指定日期范围。现在它告诉我没有找到任何数据。我在这部分做错了什么?

4

1 回答 1

1

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

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

于 2013-06-03T14:42:50.350 回答