MS Access:除更新查询外,如何移除日期时间字段的时间戳?
Access日期时间字段转仅日期格式的替代方法
一、仅调整显示格式(不改动存储数据)
如果只是希望字段在数据表视图、窗体或报表里只展示mm/dd/yyyy,不需要修改表中实际存储的时分秒数据,这是最快捷的Access专属操作:
- 打开主表的数据表视图,选中目标日期时间字段
- 右键点击字段标题,选择「字段属性」
- 在弹出的属性面板中,找到「格式」选项,直接选择「短日期」(对应
mm/dd/yyyy格式),或手动输入mm/dd/yyyy - 保存表即可,存储的时分秒数据会被保留,仅在显示时隐藏
二、永久移除时分秒(修改存储数据)
如果需要彻底去掉字段中的时分秒信息,除了Update Query,没有Access专属的一键快捷命令,以下是两种替代方案:
1. VBA批量处理
按Alt+F11打开VBA编辑器,插入模块,替换表名和字段名后运行代码:
Sub ClearTimeFromDate() Dim db As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb Set rs = db.OpenRecordset("你的主表名称") '替换为实际表名 rs.MoveFirst Do Until rs.EOF rs.Edit rs("目标日期字段名") = DateValue(rs("目标日期字段名")) '替换为实际字段名 rs.Update rs.MoveNext Loop rs.Close Set rs = Nothing Set db = Nothing MsgBox "处理完成" End Sub
2. 生成表查询间接替换
- 创建新查询,添加主表所有字段
- 将目标日期字段的表达式改为:
处理后日期: DateValue([目标日期字段名]) - 切换查询类型为「生成表查询」,指定新表名称后运行
- 确认新表数据无误后,删除原表,将新表重命名为原表名
总结
- 仅需显示日期:修改字段格式属性是最直接的快捷操作
- 需要修改存储数据:Update Query仍是最简便的方案,VBA或生成表查询为替代选项,但步骤更繁琐
内容的提问来源于stack exchange,提问作者Kemidan2014
相关产品推荐
相关产品推荐

