如何在MS Access VBA中设置日期固定显示为英文
在Access表单生成Outlook邮件时强制日期显示为英文格式
方法1:使用Format函数指定英文区域设置
Access的Format函数支持通过区域ID(LCID)指定日期格式的语言,直接用英文美国的LCID(409)就能强制输出英文月份:
生成
December 19, 2022格式:Dim eventDate As Date eventDate = CDate(Me.txtEventDate) ' 确保转换为日期类型 Dim formattedDate As String formattedDate = Format(eventDate, "mmmm dd, yyyy", 409)生成
19 December 2022格式:formattedDate = Format(eventDate, "dd mmmm yyyy", 409)
将formattedDate直接插入Outlook邮件的正文或主题即可,不受系统语言影响。
方法2:自定义英文月份映射函数
如果不想依赖LCID,可自行编写函数返回英文月份名称:
Function GetEnglishMonth(dt As Date) As String Dim engMonths() As String engMonths = Split("January,February,March,April,May,June,July,August,September,October,November,December", ",") GetEnglishMonth = engMonths(Month(dt) - 1) End Function
调用示例:
Dim eventDate As Date eventDate = CDate(Me.txtEventDate) Dim formattedDate As String ' 输出 December 19, 2022 formattedDate = GetEnglishMonth(eventDate) & " " & Day(eventDate) & ", " & Year(eventDate) ' 输出 19 December 2022 formattedDate = Day(eventDate) & " " & GetEnglishMonth(eventDate) & " " & Year(eventDate)
注意事项
- 确保日期控件
txtEventDate绑定的是日期/时间类型字段,若为文本类型,需先用CDate()转换为日期再处理。 - 两种方法均无需修改系统语言设置,完全在Access VBA代码内处理格式,适配任意系统语言环境。
内容的提问来源于stack exchange,提问作者Farkhunda Rezaie
相关产品推荐
相关产品推荐

