【问题标题】:VBA SQL Difficulties with comparison of Dates with different formatsVBA SQL困难与不同格式的日期比较
【发布时间】:2014-06-02 18:08:13
【问题描述】:

使用 Visual Basic for Applications,我想从具有特定日期的访问表中选择所有元组。日期格式为“DD.MM.YYYY”,但由于 SQL,我必须将日期比较为“YYYY.MM.DD”。

因此,我编写了以下代码来执行此操作:

CurrentDb.OpenRecordset("SELECT * FROM TabAusw WHERE Datum = " & Format(Spektren("Spektren.Datum"), "YYYY-MM-DD"), dbOpenDynaset)

Spektren("Spektren.Datum") 和 "TabAusw" 中的字段 "Datum" 是我要比较的日期,两者都存储为 dbDate。

但是执行上面显示的行不会给我想要的结果。 SQL 代码似乎是正确的,但我不会得到元组,因为我比较了两个不同格式的日期。至少这是我对这里的问题的看法。

有人知道怎么解决吗?

【问题讨论】:

  • 试试"SELECT * FROM TabAusw WHERE Datum = #" & Spektren("Spektren.Datum") & "#"
  • 添加两个哈希值是对的,但无论如何我都需要函数格式:"SELECT * FROM TabAusw WHERE Datum =#" & Format(Spektren("Spektren.Datum"), "YYYY-MM-DD") & "#"

标签: sql vba date comparison


【解决方案1】:

您可以做的一件事是将日期部分作为整数并将其用于比较。省去不同语言环境的麻烦。

【讨论】:

  • 这让我不得不管理几个额外的变量。实际的解决方案非常简单,只需添加两个哈希即可。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-17
  • 1970-01-01
  • 2020-10-01
  • 1970-01-01
  • 2012-04-12
  • 2017-05-30
  • 1970-01-01
相关资源
最近更新 更多