我在使用Microsoft.Jet.OLEDB.4.0提供程序的VBA excel文件中使用ADODB连接。 我正在建立连接的文件是.csv文件,它看起来像:
Date and time, Last name, First name
2011-08-29 05:48:50,lname1,fname1
2011-08-29 05:49:50,lname1,fname1
2011-08-29 05:55:50,lname2,fname2
2011-08-29 16:11:50,lname1,fname1
2011-08-29 17:55:50,lname2,fname2
2011-08-30 9:11:50,lname1,fname1
关键是我的数据按Date and time
排序,它位于一个字段中,用户名不按任何顺序排列。
我真正需要做的是创建一个填充Recordset
的查询。
我需要此查询为每个用户名选择每天的第一,第二和最后一小时。
是否可以仅使用查询拆分Date and time
列?
我已经大致了解如何选择我想要的东西,但这对我来说太复杂了,因为在同一领域的日期和时间。
答案 0 :(得分:1)
我们假设您的文件名为Dates.csv,您可以尝试:
SELECT
[Last name] & ", " & [First Name] AS FullName,
Format([Date And time],"yyyy/mm/dd") AS WorkingDay,
First(Format([Date And time],"hh:nn:ss")) AS FirstHour,
Last(Format([Date And time],"hh:nn:ss")) AS LastHour
FROM [Dates.csv]
GROUP BY [Last name] & ", " & [First Name], Format([Date And time],"yyyy/mm/dd")
我对日期和时间之间的双重空间有点怀疑。如果我是你,我会摆脱列名中的空格。它会让事情变得更容易。