我使用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,它将被错误地存储....
解决方案是在Access SQL语句中使用它们之前始终将日期值转换为mm/dd/yyyy字符串.你必须要小心一点,因为使用VBA日期格式掩码可能无法完全按照你在非美国语言环境中的预期工作(例如'帮助'将"mm/dd/yyyy"解释为"本地化的短日期格式" ),所以请使用您的特定Access/VBA版本仔细测试.