【发布时间】:2021-10-07 11:12:36
【问题描述】:
可能是一个简单的问题,但我还没有在任何论坛上找到答案。
我正在使用 VBA 将数据从开源推送到 SQL,我需要我的代码做的是检查 SQL 中最新数据的时间戳以确定它是否需要检索更多数据,或者它是最是最新的。
通过使用 ADODB,我可以从 SQL 中检索最新日期,如下所示
print latest_date
13/07/2021 8:14:50 PM
以及我想收集的数据的日期
print resource_date
'2021-07-13 20:14:50'
如您所见,resource_date 是一个字符串,latest_date 是 ADODB 记录集中的一个项目。无法在 If 语句中比较它们是否相同。
我尝试过使用CDate(),但出现类型不匹配的错误。
感谢任何帮助。
谢谢
【问题讨论】:
-
您正在为格式化的值而烦恼。 VBA 将日期存储在
Double中,参见例如cdbl(now)。您需要检查 SQL 数据库如何存储日期(很可能也是双精度,但零日期可能不同)。获取该数据,必要时调整零点,然后您可以轻松比较它们。