自己轉換....
select 日期
,Switch(
Month(日期)=1, 'Jan.',
Month(日期)=2, 'Feb.',
Month(日期)=3, 'Mar.',
Month(日期)=4, 'Apr.',
Month(日期)=5, 'May',
Month(日期)=6, 'Jun.',
Month(日期)=7, 'Jul.',
Month(日期)=8, 'Aug.',
Month(日期)=9, 'Sep.',
Month(日期)=10, 'Oct',
Month(日期)=11, 'Nov',
Month(日期)=12, 'Dec'
)
+ CStr(Day(日期)) + 'st ,'
+ CStr(Year(日期)) as 轉換的日期
from 資料表
access及excel 內建許多日期格式可用,本次的"mmm","d","yyyy"都是內建的,其他的可找一下資料看看。
抓日期的最右邊的一字判斷要接"st","nd","rd",或"th",因choose好像沒有"0"的選項,"0"需要先挑出來判斷。
轉換日期格式: Format([日期],"mmm"". ""d") & IIf(Right([日期],1)="0","th",Choose(Right([日期],1),"st","nd","rd","th","th","th","th","th","th")) & Format([日期],""", ""yyyy")
替你問Claude AI
在 Microsoft Access 中,日期格式化可以通过 VBA (Visual Basic for Applications) 来实现。对于您要求的 "Jul. 1st, 2024" 这种格式,我们需要创建一个自定义函数。以下是一个实现这种格式化的 VBA 函数示例:
```vba
Public Function FormatCustomDate(ByVal inputDate As Date) As String
Dim monthNames As Variant
Dim dayNum As Integer
Dim suffix As String
monthNames = Array("Jan.", "Feb.", "Mar.", "Apr.", "May.", "Jun.", "Jul.", "Aug.", "Sep.", "Oct.", "Nov.", "Dec.")
dayNum = Day(inputDate)
Select Case dayNum
Case 1, 21, 31
suffix = "st"
Case 2, 22
suffix = "nd"
Case 3, 23
suffix = "rd"
Case Else
suffix = "th"
End Select
FormatCustomDate = monthNames(Month(inputDate) - 1) & " " & _
dayNum & suffix & ", " & _
Year(inputDate)
End Function
使用这个函数的步骤:
现在,您可以在查询、表单或报表中使用这个函数。例如,在查询中:
SELECT FormatCustomDate([YourDateField]) AS FormattedDate
FROM YourTable;
或者在表单/报表的控件属性中:
=FormatCustomDate([YourDateField])
这个函数会将日期格式化为您需要的 "Jul. 1st, 2024" 格式。
请注意,这个函数假设输入的日期是有效的。如果您需要处理可能无效的日期输入,您可能需要添加额外的错误处理代码。
您需要我进一步解释这段代码的工作原理吗?或者您在实施过程中遇到了什么问题?