vba - dd/mm 自动更改为 mm/dd

标签 vba ms-access ms-office

我在 Access VBA 中使用 Date 语句编码了一些东西。直到本月初它都运行良好,但现在我看到日期已从 dd/mm/yyyy 自动更改格式至 mm/dd/yyyy .有没有其他人遇到过同样的问题?

最佳答案

无论区域设置如何,默认的 Access SQL 日期格式都是 mm/dd/yyyy。如果您使用无效的日期格式,它会“有帮助地”尝试将其转换为对您有效的日期。

因此,如果您使用“30/09/2008”,它会识别您正在使用 dd/mm/yyyy,并对其进行适当的转换。但是,像 '10/01/2008' 这样的值是一个有效的 mm/dd/yyyy 值,因此它不会被转换,并且如果您实际上是指 dd/mm/yyyy...

解决方案是始终将日期值转换为 mm/dd/yyyy 字符串,然后再在 Access SQL 语句中使用它们。您必须在这里小心一点,因为在非美国语言环境中使用 VBA 日期格式掩码可能无法完全按照您的预期工作(例如,“有帮助地”将“mm/dd/yyyy”解释为“本地化的短日期格式”) ),因此请使用您的特定 Access/VBA 版本仔细测试。

关于vba - dd/mm 自动更改为 mm/dd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/186655/

相关文章:

vba - 处理 HTMLSelectElement 时未设置对象变量或 block 变量

excel - 尝试在 excel VBA 中使用 Try-Catch block 获取内部异常时出错

forms - MS Access VBA : Return to login form if login fails

vba - 用于计算评论数量的 Microsoft Word 宏

excel - Office JS setDataAsync 函数内存泄漏

vba - 向负责的用户发送电子邮件

Sql 将文本字段转换为日期字段

sql - 如何使用Excel VBA获取新插入记录的id?

ms-word - 使嵌入在网页中的 Word 文档可编辑或只读

excel - 删除不需要的字符并评估剩余的 excel