【问题标题】:Access database presenting date in ddmmmyyyy formatAccess 数据库以 ddmmmyyyy 格式显示日期
【发布时间】:2020-09-28 00:19:05
【问题描述】:

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

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

更新

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

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

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

感谢您的建议。

【问题讨论】:

  • 表中的字段类型是Short Text?然后创建一个额外的Date/Time 字段并使用建议的@seanb 之类的更新查询复制值,或者字段是否已经Date/Time 但它应用了格式?然后删除该格式(表格 -> 设计视图 -> 选择字段 -> 在“常规查找”删除格式中的按钮)。

标签: sql ms-access


【解决方案1】:

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

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

  • 在一个新领域
  • 即时

对于一次性转换,您可以

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 2022-07-07
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    相关资源
    最近更新 更多