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)
这个策略我用过很多次,对我很管用。
我正在使用 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)
这个策略我用过很多次,对我很管用。