2011-09-07 54 views
0

我在Microsoft.Jet.OLEDB.4.0提供程序中使用VBA excel文件中的ADODB連接。 與我建立連接的文件是.csv文件,它看起來像:OLEDB查詢選擇ID的第一次和最後一次

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列? 我已經知道如何選擇我想要的東西,但對於我來說這件事太複雜了,因爲那個日期和時間在同一個領域。

你能給我什麼建議嗎?

回答

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") 

我有點可疑的日期和時間之間的雙重空間。如果我是你,我會擺脫列名中的空格。它會讓事情變得更容易。

+0

哇,工作很棒!非常感謝! – Jandrejc

相關問題