在同一列中的日期之间确定天数的最佳方法(MS Access)



我有一个查询,它根据 ID 号从>1600 万条记录中提取日期。这将生成大约 800 条带有 ID 和 ScanDate 字段的记录,从最旧到最新排序。每个 ID 可以有多个条目。获取日期之间差异的最佳方法是什么?

我可以很容易地导出到 Excel 并以这种方式获得它,但老板希望它自动化并变成最终报告。我并不严格反对在 Excel 中执行此操作,但将其保留在 Access 中最适合我们使用。

我已经尝试过这种方式,但它只是挂起并崩溃 Access。

SELECT  LenelID,
ScanDate,
NextDate,
DATEDIFF("D", ScanDate, NextDate)
FROM    (   SELECT  LenelID, 
ScanDate,
(   SELECT  MIN(ScanDate) 
FROM    qry_Filtered_access T2
WHERE   T2.LenelID = T1.LenelID
AND     T2.ScanDate > T1.ScanDate
) AS NextDate
FROM    qry_Filtered_access T1
) AS T

对于仅 800 条记录,到目前为止,最好和最简单的方法是将记录作为记录集打开,然后循环访问此记录以收集日期差异。不需要花哨的 SQL。

这些数据可以馈送到集合中,也可以与报表所需的其他数据一起写入另一个 (temp( 表。

最新更新