vb6和msaccess的时间查询
Posted
技术标签:
【中文标题】vb6和msaccess的时间查询【英文标题】:time query for vb6 and msaccess 【发布时间】:2010-01-25 07:00:31 【问题描述】:查询 VB6 和 MS Access
表:-
User Id LogDate LogTime
1 1/1/2010 9:00
1 1/1/2010 10:00
1 1/1/2010 11:29
1 2/1/2010 10:00
2 2/1/2010 22:00
2 3/1/2010 11:00
需要显示为:-
User Id LogDate LogTime LogDate LogTime
1 1/1/2010 9:00 1/1/2010 10:00
1 1/1/2010 11:29 2/1/2010 10:00
2 2/1/2010 22:00 3/1/2010 11:00
【问题讨论】:
是否保证每个用户ID的日志条目数为偶数? 【参考方案1】:您需要使用子查询来查找用户的下一个日期,例如:
SELECT tbl***TimeQuery.lngUserId, tbl***TimeQuery.datLogDateTime,
(SELECT TOP 1 tbl***TimeQuery2.datLogDateTime
FROM tbl***TimeQuery AS tbl***TimeQuery2
WHERE tbl***TimeQuery.lngUserId = tbl***TimeQuery2.lngUserId
AND tbl***TimeQuery2.datLogDateTime > tbl***TimeQuery.datLogDateTime
ORDER BY tbl***TimeQuery2.datLogDateTime
) AS datEndDateTime
FROM tbl***TimeQuery
ORDER BY tbl***TimeQuery.lngUserId, tbl***TimeQuery.datLogDateTime;
这将给出以下内容:
lngUserId datLogDateTime datEndDateTime
1 01/01/2010 09:00:00 01/01/2010 10:00:00
1 01/01/2010 10:00:00 01/01/2010 11:29:00
1 01/01/2010 11:29:00 02/01/2010 10:00:00
1 02/01/2010 10:00:00
2 02/01/2010 22:00:00 03/01/2010 11:00:00
2 03/01/2010 11:00:00
这不是你想要的,但它是一个开始。
使用代码来做这些事情是最简单的,但这取决于你想如何使用它。据推测,您的数据中没有任何内容可以指示哪个条目是开始,哪个是结束。
【讨论】:
以上是关于vb6和msaccess的时间查询的主要内容,如果未能解决你的问题,请参考以下文章