iT邦幫忙

2

請問一下 ACCESS的日期格式轉換問題

  • 分享至 

  • xImage

EX: 2024/07/01 要轉成 Jul. 1st , 2024
可以怎麼處理?

fs910175 iT邦新手 5 級 ‧ 2024-07-04 17:14:47 檢舉
中日期比較接近你要的,不過要完全一樣的話...自己轉
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
純真的人
iT邦大師 1 級 ‧ 2024-07-04 16:26:01

自己轉換....

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 資料表

https://ithelp.ithome.com.tw/upload/images/20240704/20061369DfODqQoojC.png

https://ithelp.ithome.com.tw/upload/images/20240704/20061369OmabDovSh2.png

0
ikpolo
iT邦見習生 ‧ 2024-07-05 08:39:09

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")
1
海綿寶寶
iT邦大神 1 級 ‧ 2024-07-06 16:48:34

替你問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

使用这个函数的步骤:

  1. 在 Access 中,按 Alt+F11 打开 VBA 编辑器。
  2. 在项目窗口中,右击您的数据库名称,选择"插入" > "模块"。
  3. 将上面的代码粘贴到新模块中。
  4. 保存并关闭 VBA 编辑器。

现在,您可以在查询、表单或报表中使用这个函数。例如,在查询中:

SELECT FormatCustomDate([YourDateField]) AS FormattedDate
FROM YourTable;

或者在表单/报表的控件属性中:

  1. 创建一个文本框控件。
  2. 在控件源属性中输入:
    =FormatCustomDate([YourDateField])

这个函数会将日期格式化为您需要的 "Jul. 1st, 2024" 格式。

请注意,这个函数假设输入的日期是有效的。如果您需要处理可能无效的日期输入,您可能需要添加额外的错误处理代码。

您需要我进一步解释这段代码的工作原理吗?或者您在实施过程中遇到了什么问题?

不明
【**此則訊息已被站方移除**】

我要發表回答

立即登入回答