午夜后如何对访问中的时间单元进行排序?

午夜后如何对访问中的时间单元进行排序?

我在 Windows 2010 上使用 MS Access 2007,并且有一个 Access DB,我必须按时间(小时:分钟)对一些记录进行排序。

单元格中的值从凌晨 5:00 开始,直到凌晨 1:00。问题是我需要从午夜到凌晨 1:00 的值必须位于列表末尾。

答案1

我建议使用计算列查询您的表格,该计算列只是时间列减去 1 小时。然后您可以根据此计算列进行排序,凌晨 1:00 的时间将全部排到底部。排序列不需要显示在任何表单或报告中,仅用于排序。

答案2

使用以下 SQL 创建查询:

SELECT * FROM myTable ORDER BY TimeValue(DateAdd("h",-1,[myTime]));

在上文中,更改myTable为表的名称,以及myTime包含时间值的字段的名称。

答案3

解决方案是将 MS Access 中的格式设置为日期/小时和格式 hh:nn;@(最终为 hh:nn:ss;@)。

如果 Access 中的数据列表没有按您需要的顺序排列,您可以按照以下方式解决:

  1. 复制/导出 MS Excel 中的列表
  2. 在 MS Excel 中设置格式如下图所示 (hh:mm;@)
  3. 仅将午夜之后的值更正为 24:MM:SS
  4. 在 MS Access 中设置新格式,如下面第二张图片所示 (hh:nn;@)
  5. 从 MS Excel 复制/导入新数据

图片1_excel_格式 picture2_access_format

图像来自我的区域版本的 MS Access 和 MS Excel

相关内容