函数改一下:
Public Function CDateTime(MyDate As Date, Optional thedate As Date = #1/1/1900#) As String
'大写中文日期
'thedate ---指定的特定日期,如果不指定就默认是:1900-1-1 日
'引用:CDateTime(# 1968-1-24 #)
Dim i As Long, D(3) As String
For i = 1 To Len(Year(MyDate))
D(0) = D(0) & Mid("零一二三四五六七八九", CInt(Mid(Year(MyDate), i, 1)) + 1, 1)
Next
D(1) = "年" & Choose(Month(MyDate) \ 10 + 1, "", "十") & Mid(" 一二三四五六七八九", Month(MyDate) Mod 10 + 1, 1) & "月"
D(2) = Choose(Day(MyDate) \ 10 + 1, "", "十", "二十", "三十") & Mid(" 一二三四五六七八九", Day(MyDate) Mod 10 + 1, 1) & "日"
CDateTime = Join(D, "")
If MyDate <> thedate Then
CDateTime = Replace(CDateTime, " ", "")
'不等于特定日期时,显示你要的结果
Else
CDateTime = "" '等于特定日期时,显示另一种你要的结果,这里显示为空
End If
End Function
查询改一下:
SELECT 表1.ID, 表1.内容一, 表1.内容二, CDateTime([日期],#1/5/2005#) AS 年月日, IIf([日期]=1900/1/1,'不详') AS 年
FROM 表1