如何使用OLE for Excel为日期添加WHERE过滤器?

时间:2012-12-20 19:32:36

标签: excel vba date excel-vba oledb

我正在尝试创建一个具有WHERE子句的SQL查询,该子句使用日期。我正在使用OLE查询Excel工作表。 使用CAST或CONVERT等功能将无法正常工作

1 个答案:

答案 0 :(得分:1)

执行此操作的正确方法是将日期括在#中。为避免出现区域性问题,最好的方法是为日期传递ISO格式。只考虑一些“数据库想成为”(我无法调用Access数据库)只是在查询中接受美国日期文字。 例如(使用ISO日期格式)

Function WriteQuery(d as Date) as String

  WriteQuery = "SELECT * FROM Sometable WHERE DateColumnName < " & "#" & Format(d,"YYYY-MM-DD") & "#"

End Function