Table 设计时,日期时间和转换函数在 MS Access 365 中不可用

Date Time and Conversion Functions not available in MS Access 365 at Table Design Time

我试图在 MS Access 365 中简单地将文本字段转换为日期时间值。这应该很简单。但是我似乎无法访问 Date()、DateValue() 等函数。

我想要一些东西,我可以在其中传递一些文本并将其转换为日期时间类型。我的数据如下所示:

我用了这个公式:我用这个公式得到这个:Left$([DateText],InStr(1,[DateText]," - ")) 从日期文本字段中删除时间。

现在我想使用 DateTextWithTimeRemoved 字段中的数据添加一个 date/time 类型的新字段。

table设计视图(也显示可用的转换函数)是这样的:

日期函数如下:

所以,从几年前开始,我记得使用过 CDate() 或 Date() 或 DateValue() 之类的函数,或者你有什么,但它们不存在。我是否必须安装一些东西才能获得这些功能?

假设您希望保留问题中显示的相同 Table 字段:

  1. 备份您当前的table。

  2. DateThatIsAnActualDate 字段的数据类型更改为 Date/Time 并将 DateTextWithTimeRemoved 更改为短文本。

  3. 创建更新查询。 (创建 -> 查询设计 -> select 在查询类型下更新。)

  4. 添加您的 Table(成员)

     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")

  1. 点击运行!

  2. 单击“是”进行确认。

  3. 全部完成。查看成员table.

    中的记录

首先,忘记计算字段。使用查询,这就是它们的用途。表格用于数据。

其次,表达式生成器无望。我从来没有发现它有用。

接下来,要轻松转换为真实日期值,您只需删除破折号。

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

请注意,date/time 值没有格式。仅将此应用于显示,因此如果默认格式(Windows 设置的格式)不适合,请在需要时调整格式 属性(您查看数据的 forms/reports) .

Format: dd/mm/yyyy

默认为:

Format: Short Date