我正在打印Access 2007报表中事件的菜单卡,希望事件日期位于打印输出的底部,格式如下:2013年12月2日(或2013年12月25日)
有没有一种方法可以格式化access数据库中的日期字段,使其以这种方式打印出来?

最佳答案

不幸的是,vbaFormat函数没有提供您想要的功能。但是,可以使用自定义vba函数格式化事件日期的日部分,并添加已格式化的月份和年份。

DayString([event date]) & " " & Format([event date], "mmmm, yyyy")

将此函数保存在标准模块中。
Public Function DayString(ByVal pDate As Date) As String
    Dim intDay As Integer
    Dim strReturn As String

    intDay = Day(pDate)
    Select Case intDay
    Case 1, 21, 31
        strReturn = intDay & "st"
    Case 2, 22
        strReturn = intDay & "nd"
    Case 3, 23
        strReturn = intDay & "rd"
    Case Else
        strReturn = intDay & "th"
    End Select
    DayString = strReturn
End Function

09-07 01:24