MS Access - преобразование формата даты для короткого текста - PullRequest
0 голосов
/ 08 мая 2019

У меня есть база данных .mdb Access с таблицей Door Activity Log.В нем есть столбец с именем Door Activity Log Date типа Short Text.В настоящее время его формат в американском формате даты (мм / дд / гггг).

Как мне конвертировать / манипулировать датой (я предполагаю, что Short Text - просто строка) в Access, чтобы она стала dd/mm/yyyy?

Ответы [ 2 ]

0 голосов
/ 08 мая 2019

Даты всегда должны храниться как даты , а не как текст.

Итак, создайте новое поле в таблице 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))
0 голосов
/ 08 мая 2019

Я решил с помощью 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
...