搜索查询失败

时间:2013-05-28 02:31:56

标签: vba ms-access

我目前正在开发ms access 2010并在vba中编码。我想在给定的开始和结束日期之间进行搜索,但它根本不进行查询。

我的sql查询将是这样的,我从日历中获取了起始值和结束值。

"SELECT [fields] WHERE (DateofIssue BETWEEN" & TextBoxStartDate.value & " AND " & TextBoxEndDate.value)

我已经包含了()因为我还有其他条件要检查,是否可以这样使用?

我看到有人加入#并尝试过失败,例如:

"SELECT [fields] WHERE (DateofIssue BETWEEN #" & TextBoxStartDate.value & "# AND #" & TextBoxEndDate.value & "#")

我已将数据表和表单中的日期格式更改为dd/mm/yyyy。我在数据表视图中查看,日期以示例28/05/2013的形式显示。我尝试通过在上面提到的各个文本框中添加msgbox来进行一些调试。他们显示2 8/5/201 3而不是28/05/201 3。这个月有一个缺失0,这是为什么?

任何建议可能是什么问题,我该如何解决?任何帮助将不胜感激,谢谢你。

2 个答案:

答案 0 :(得分:0)

你需要围绕日期的#符号。

表格显示日期并不重要。它们都存储相同。

领先的零并不重要。

我在Access中的理解,查询期望美国的日期格式。尝试使用 mm / dd / yyyy 或ISO标准 yyyy-mm-dd

答案 1 :(得分:0)

是的,你需要#符号..所以试试这个

"SELECT [fields] WHERE (DateofIssue >= #" & format(TextBoxStartDate.value,"MM/dd/yyyy") & "# AND DateofIssue <= #" & format(TextBoxEndDate.value, "MM/dd/yyyy") & "#")