【问题标题】:Regional date format when updating recordset in VBA在 VBA 中更新记录集时的区域日期格式
【发布时间】:2016-10-05 14:34:42
【问题描述】:

我在英国,正在为美国的客户开发 Access 2016 数据库。

我需要以编程方式更新表格中的一些日期,我通过编辑 RecordSet 来完成。

我的问题是:如果我以英国格式 (dd/mm/yyyy) 提供日期,数据库会将其存储为美国格式 (mm/dd/yyyy) 在我的客户计算机上吗?

如果不更改我不想在 Windows 中更改的区域设置,我无法对此进行测试。

谢谢。

【问题讨论】:

  • 如果有疑问,请选择 yyyy-MM-dd。
  • 将日期提供为日期,而不是字符串。
  • @Adrian - 谢谢,好主意
  • @Comintern - 它们是日期

标签: vba ms-access


【解决方案1】:

您不会提供格式,而是提供。格式仅供展示。

Dim Date1 As Date

' Set Date1 to some value.
Date1 = DateSerial(2016, 10, 15)

rs!YourDateField.Value = Date1

【讨论】:

  • 感谢您的回答。当然,我明白了,但是如果 (dd/mm/yyy) 日期类似于 01/02/2016 怎么办?使用我的区域设置,这就是 DateSerial(2016, 2, 1) 将返回的内容。如果在美国,它会在 2016 年 2 月 1 日返回吗? DateSerial 的 MSDN 页面没有具体说明这一点。
  • @Absinthe formatDate 值的表示;它不是价值本身。只要你有DateAs Date,你就不必担心它的表示。
  • @Absinthe - DateSerial 与区域设置无关。它需要特定的年、月、日参数。
  • DateSerial 的 MSDN 页面对此非常具体;这三个参数决定了生成的日期值。
猜你喜欢
  • 2014-12-17
  • 1970-01-01
  • 1970-01-01
  • 2015-09-16
  • 2014-12-23
  • 2022-01-06
  • 1970-01-01
  • 2014-01-26
  • 1970-01-01
相关资源
最近更新 更多