我試圖簡單地將文本欄位轉換為 MS Access 365 中的日期時間值。這應該很簡單。但是我似乎無法訪問 Date()、DateValue() 之類的函式。
我想要一些可以傳遞一些文本并將其轉換為日期時間型別的東西。我的資料如下所示:

我使用了公式:我使用了這個公式來得到這個:Left$([DateText],InStr(1,[DateText]," - ")) 從 DateText 欄位中洗掉時間。
現在我想使用 DateTextWithTimeRemoved 欄位中的資料添加一個日期/時間型別的新欄位。
表格設計視圖(也顯示了可用的轉換函式)如下所示:

日期函式如下:

因此,從幾年前開始,我記得使用 CDate() 或 Date() 或 DateValue() 之類的函式或您擁有的函式,但它們只是不存在。我必須安裝一些東西才能獲得這些功能嗎?
uj5u.com熱心網友回復:
假設您要保留問題中顯示的相同表欄位:
備份當前表。
將欄位的資料型別更改
DateThatIsAnActualDate為日期/時間和DateTextWithTimeRemoved短文本。創建一個更新查詢。(創建 -> 查詢設計 -> 在查詢型別下選擇更新。)
添加您的表(成員)
Field: DateTextWithTimeRemoved Table: members Update To:
Left([DateText],InStr(1,[DateText]," -"))
下一欄
Field: DateThatIsAnActualDate
Table: members
Update To:
Format(DateValue(Left([DateText],(InStr(1,[DateText]," -")))),"dd/mm/yyyy")
點擊運行!
單擊是確認。
全做完了。檢查成員表中的記錄。
uj5u.com熱心網友回復:
首先,忘記計算欄位。使用查詢,這就是它們的用途。表格用于資料。
其次,運算式生成器毫無希望。我從來沒有發現它有用。
接下來,您只需洗掉破折號即可輕松轉換為真實日期值。
TextDate = "10 Dec 2020 - 16:52"
? Replace(TextDate, "-", "")
10 Dec 2020 16:52
這可以這樣轉換:
' Date only:
? DateValue(Replace(TextDate, "-", ""))
2020-12-10
' Date and time:
? CDate(Replace(TextDate, "-", ""))
2020-12-10 16:52
現在,您的查詢可能如下所示:
Select
ID,
Username,
DateValue(Replace(TextDate, "-", "")) As TrueDate,
CDate(Replace(TextDate, "-", "")) As TrueDateTime
From
Members
請注意,日期/時間值沒有格式。僅將其應用于顯示,因此如果默認格式(Windows 設定的格式)不適合,請在需要的位置(查看資料的表單/報告)調整 Format 屬性。
Format: dd/mm/yyyy
默認值為:
Format: Short Date
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/434137.html
上一篇:VBA訪問自動編號失敗
