VBA SQL Access DB 查询日期语句

VBA SQL Access DB Query Date Statement

我正在使用 VBA 连接到 Access 数据库。 运行查询日期条件时遇到一些问题。

我有一个包含日期的单元格 (C7),我想根据该日期查询结果,下面是我的代码:

    'Query1 Populate
    query = "SELECT * FROM " & TABLE & " WHERE ReportRunDate = " & _
            Chr(35) & Format(Sheet1.Range("C7").Value, "yyyy-mm-dd") & Chr(35)
    MsgBox query
    Set Rs1 = Conn1.Execute(query)
    MsgBox Rs1.RecordCount

没有给出错误,但没有给出结果,如果我从变量查询中获取输出并且 运行 它直接进入访问结果就在那里。可能发生了什么?

尝试不同的日期格式:

    'Query1 Populate
    query = "SELECT * FROM " & TABLE & " WHERE ReportRunDate = #" & _
            Format(Sheet1.Range("C7").Value, "mm/dd/yyyy") & "#"
    MsgBox query
    Set Rs1 = Conn1.Execute(query)
    MsgBox Rs1.EOF

我会将日期值转换为双精度值以避免任何格式问题。请记住:MS Office 程序(例如 Excel 和 Access)使用双精度来存储日期和时间。

query = "SELECT * FROM " & TABLE & " WHERE ReportRunDate = " & _
        CDbl(Sheet1.Range("C2").Value)

这个策略我用过很多次,对我很管用。