通过VBA将日期/时间与Access DB中的日期/时间进行比较

时间:2009-12-21 18:45:30

标签: sql ms-access vba date time

如何通过VBA将日期/时间与Access DB中的日期/时间进行比较?

我使用的查询

adoRS.Open "SELECT * FROM currentpositions WHERE ((currentpositions.
[dateLT])=" & "#" & date_from_message & "#" & ")", adoConn, adOpenStatic,
adLockOptimistic

我只能比较日期 有人有想法吗?

问候
Camastanta

3 个答案:

答案 0 :(得分:3)

adoRS.Open "SELECT * FROM currentpositions WHERE DateValue(currentpositions.
[dateLT]) = DateValue(" & "#" & date_from_message & "#)", adoConn, adOpenStatic,
adLockOptimistic

如果上述有帮助,请参阅 DateValue从给定的日期/时间中提取日期部分。因此,它可用于比较日期,忽略时间部分。

答案 1 :(得分:2)

恕我直言,你永远不应该使用字符串连接来构建SQL语句。而是使用parameterized SQL queries。这将使您免于日常/时间比较所面临的问题。

答案 2 :(得分:0)

您的系统是否具有yyyy-mm-dd或dd-mm-yyyy格式的日期?如果是这样,请参阅Return Dates in US #mm/dd/yyyy# format以mm-dd-yyyy转换日期,以便Access可以正常使用它们。