2012-06-12 202 views
0

我對訪問非常陌生,我試圖根據表中的信息創建報告。下面是在表中的當前數據的樣本...Microsoft Access報告創建

id  Date   Name  Location  Model  Count 
1  06/10/2012 William Basement  Desktop 22 
2  06/10/2012 Doug  Top Floor  Desktop 15 
3  06/10/2012 Jane  Top Floor  Laptop  12 
4  06/11/2012 William Basement  Desktop 29 
5  06/11/2012 Doug  Top Floor  Desktop 35 
6  06/12/2012 William Basement  Desktop 31 
7  06/12/2012 Doug  Top Floor  Desktop 41 
8  06/12/2012 Jane  Top Floor  Laptop  24 

現在我是後是創建一個報告,其中將GROUP BY月和總計高達計數,以最後的計數和減去從記錄月份的第一天開始的第一次。所以,我的報告應該是這樣看的,因爲這不是報告的必要數據。

Date   Name  Location  Model  Count 
June 2012  William Basement  Desktop 9 
June 2012  Doug  Top Floor  Desktop 26 
June 2012  Jane  Top Floor  Laptop  12 

如果任何人有任何想法我可以做到這一點,請記住我是非常新的訪問,這將是偉大的!

回答

0

您可以先創建一個查詢,然後根據該查詢生成報告。包含一個可以設置爲MaxOfCount和MinOfCount之間差異的控件。

SELECT DISTINCT Format([Date],"yyyy mm") AS Sort, 
     Format([Date],"mmm yyyy") AS [Month], 
     a.Name, a.Location, a.Model, 
     (SELECT TOP 1 [Count] 
     FROM Report b 
     WHERE a.Name=b.Name AND a.Location=b.Location AND a.Model=b.Model 
     ORDER BY [Date] DESC, Id) As MaxOfCount, 
     (SELECT TOP 1 [Count] 
     FROM Report b 
     WHERE a.Name=b.Name AND a.Location=b.Location AND a.Model=b.Model 
     ORDER BY [Date], Id) AS MinOfCount 
FROM Report a 
+0

這看起來不錯,但我有一個問題。我還沒有測試過,因爲我不確定一些事情......你指的是a.Name a.Location等,我知道「a」是我的表,但後來你說「來自報告b其中a.name = b.name等「什麼是b? – John

+0

報告是您的表格的名稱。有兩個別名,「a」和「b」。你可以說'從報告作爲b'或'作爲a'。您有兩個別名,因爲您需要子查詢才能按日期獲取第一個和最後一個計數。順便說一句如果列名是真實的,您正在使用很多[保留字](http://support.microsoft.com/kb/286335),這些可能會一直導致您的問題。 – Fionnuala

+0

謝謝。我會盡快測試並報告。你一直在幫助很大。列名不準確,我只是縮短了它們......實際的例子是「Name」是「UsersFullName」,Model是「StationModel」,count是「ProductionCounts」。 – John