首页 > 解决方案 > Access 数据库以 ddmmmyyyy 格式显示日期

问题描述

我有一个 Access DB,其日期在 ddMMMyyyy 中给出(例如:27SEP2020)。每次我尝试将数据类型设置为日期时,它都会删除超过 450 个条目的整个列。

有没有办法让日期格式保持原样并仍然使用过滤器?

更新

我接受了一些建议并最终选择了

Left([Employee_Hire_Date],2) & "/" & Mid([Employee_Hire_Date],3,3) & "/" & Right([Employee_Hire_Date],4) AS [Employee Hire Date]

它不是超级漂亮,但因为我在美国,所以 DDMMMYYYY 日期类型不起作用。

感谢您的建议。

标签: sqlms-access

解决方案


听起来您的日期实际上是一个字符串(例如,短文本)。

要将其与日期函数一起使用,包括过滤(例如,在 25SEP2020 和 27SEP2020 之间),您确实应该将其转换为日期字段。你可以这样做

  • 在一个新领域
  • 即时

对于 1-off 转换,您可以

  1. 向表中添加新字段
  2. 运行查询以将该字段更新为基于您的原始字段的日期,例如,DateValue(Left([DateStr],2) & " " & Mid([DateStr],3,3) & " " & Right([DateStr],4))(请注意,您可能需要调整它在当月 10 日之前的日期的工作方式)
  3. 这样做之后,请随意删除旧字段,然后将新字段重命名为旧字段。但是请注意,您需要确保任何新插入实际上都作为日期插入(如果作为字符串插入,请更改代码以使用上面的 DateValue 语句将其转换为日期)
  4. 对于报告,如果需要,您可以格式化字段,例如,Format(yourdatefield,"ddmmmyyyy")

为了即时进行(我不推荐),每当您使用表格时,您应该将所有值转换为日期,然后执行适当的任务,例如,您可以使用上面的 DateValue 命令,而不是使用字段 DateStr。


推荐阅读