【问题标题】:Date Comparsion not working in Access VBA日期比较在 Access VBA 中不起作用
【发布时间】:2013-08-14 06:01:10
【问题描述】:

我正在尝试比较两个日期。

但是 temp 总是返回 true。

你能解释一下我哪里出错了

temp = (Format(CDate("27-Aug-09"), "dd-mmm-yy") > Format(CDate("07-Jul-12"), "dd-mmm-yy"))

【问题讨论】:

  • Format() 返回字符串。您需要将其转换回日期进行比较。为什么需要应用格式?

标签: date ms-access vba ms-access-2007


【解决方案1】:

您正在格式化根据dd-mmm-yy 的值 - 这实际上是它们开始使用的格式。所以你只是比较字符串“27-Aug-09”和“07-Jul-12”...此时“2”晚于“0”,所以比较结束真的很快。

我怀疑你可以摆脱 Format 电话,比较日期:

temp = (CDate("27-Aug-09") > CDate("07-Jul-12"))

当然,这是假设CDate 可以处理输入。 (我希望那部分没问题。)

如果您真的想要比较字符串,则需要将日期转换为自然可排序的格式,例如yyyy-mm-dd.

【讨论】:

    猜你喜欢
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-18
    • 1970-01-01
    • 1970-01-01
    • 2013-12-14
    相关资源
    最近更新 更多