繁体   English   中英

MS Access - 转换短文本的日期格式

[英]MS Access - Converting Date Format for Short Text

我有一个带有表Door Activity Log的.mdb Access数据库。 在其中,有一个名为Door Activity Log Date的列,类型为Short Text 目前,其格式为美国日期格式(mm / dd / yyyy)。

我如何在Access中转换/操纵日期(我猜是短文本只是字符串),这样它就变成了dd/mm/yyyy

我用VBA解决了

Private Sub dateFormattingConvert()

Dim rs As DAO.Recordset
Dim oldDate As String
Dim newDate As String
Dim year As String
Dim month As String
Dim day As String
Dim fullString As String
Set rs = CurrentDb.OpenRecordset("Door Activity Log")

If Not (rs.EOF And rs.BOF) Then
    rs.MoveFirst
    Do Until rs.EOF = True
        Debug.Print (rs![Door Activity Log Date])
        oldDate = rs![Door Activity Log Date]
        year = Right(oldDate, 4)
        month = Left(oldDate, 2)
        day = Mid(oldDate, 4, 2)
        fullString = day & "/" & month & "/" & year

        rs.Edit
        rs![Door Activity Log Date] = fullString
        rs.Update

        rs.MoveNext
    Loop
Else
    MsgBox "No more records."
End If

MsgBox "Finished"

rs.Close
Set rs = Nothing

End Sub

日期应始终存储为日期 ,而不是文本。

因此,在表中创建一个新字段ActivityLogDate ,并使用如下查询填充它:

Update 
    [Door Activity Log]
Set 
    ActivityLogDate = DateSerial(Mid([Activity Log Date], 7, 4), Mid([Activity Log Date], 1, 2), Mid([Activity Log Date], 4, 2))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM