可以說我有一個表,這些領域MSACCESS - 設計查詢GROUP BY週年日期
LeaveDate
LeaveType
我想編寫一個查詢由annivesary日期進行分組。
例如說,2月8日
所以今年後2月8日的任何日期將是「2010」和2月8日之前的任何日期將顯示「2009」。
我希望這發生在所有年份的數據。
瞭解??
馬爾科姆
可以說我有一個表,這些領域MSACCESS - 設計查詢GROUP BY週年日期
LeaveDate
LeaveType
我想編寫一個查詢由annivesary日期進行分組。
例如說,2月8日
所以今年後2月8日的任何日期將是「2010」和2月8日之前的任何日期將顯示「2009」。
我希望這發生在所有年份的數據。
瞭解??
馬爾科姆
你可以創建一個查詢與週年日期,然後由該列組計算列。
這裏是我是如何做到的
SELECT Year([tblFoo]![Leave_date])-IIf(DateDiff("d",[tblFoo]![Leave_date],DateSerial(Year([tblFoo]![Leave_date]),2,8))>0,1,0) AS Year_group, Count(tblFoo.ID) AS CountOfID
FROM tblFoo
GROUP BY Year([tblFoo]![Leave_date])-IIf(DateDiff("d",[tblFoo]![Leave_date],DateSerial(Year([tblFoo]![Leave_date]),2,8))>0,1,0);
這計數的記錄每一個「年」的數量。我們使用類似的東西來計算出人與人之間變化的生日。在這種情況下,使用固定的2和8可以替換出生的月份和日期
聽起來像你想從一週年紀念日開始寫日期,然後在幾年後取得結果的底線,然後由此組成。儘管如此,從來沒有使用Access進行非平凡的數據庫工作,所以不能告訴你如何做到這一點。 – 2010-02-08 02:57:24
哦,另外,如果你想得到一個有用的迴應,最好發佈相關表的定義以及你希望查詢的輸出結果的例子。 – 2010-02-08 02:59:12
嗯,功能與其他地方一樣:DateDiff()http://office.microsoft.com/en-us/access/ha012288111033.aspx – 2010-02-08 03:03:49