如何解决VBA SQL Access数据库查询日期语句
我正在使用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)
我已经使用了很多次这种策略,并且对我有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。