[英]MS Access 2010 Running Total in Query
我不是Access的忠實擁護者,但是對於這個項目,我被要求創建一個Access數據庫。 我為其他數據庫類型創建了類似的東西,所以並不太困難。 我大部分都想通了,但總的運行量讓我大吃一驚。
我有下表:表名attendanceView
查詢: SELECT * FROM attendanceView
======================================================================================
agentID | incurrredDate | points | OneFallOff | TwoFallOff
======================================================================================
chtall | 10/7/2013 | 2 | 2 | 2
chtall | 10/15/2013 | 2 | 2 | 2
chtall | 11/26/2013 | 2 | 2 | 2
chtall | 12/17/2013 | 2 | 2 | 2
vimunson | 7/22/2013 | 2 | 2 | 2
vimunson | 7/29/2013 | 2 | 1 | 1
vimunson | 12/6/2013 | 1 | 1 | 1
該查詢執行查找OneFallOff
和TwoFallOff
的值所需OneFallOff
TwoFallOff
。 不過,我需要找到一種方式來運行的運行總計TwoFallOff
每個agentID
。 例如chtall
有四個記錄,如下所示:
==================================================================================================
agentID | incurrredDate | points | OneFallOff | TwoFallOff | total
==================================================================================================
chtall | 10/7/2013 | 2 | 2 | 2 | 2
chtall | 10/15/2013 | 2 | 2 | 2 | 4
chtall | 11/26/2013 | 2 | 2 | 2 | 6
chtall | 12/17/2013 | 2 | 2 | 2 | 8
vimunson | 7/22/2013 | 2 | 2 | 2 | 2
vimunson | 7/29/2013 | 2 | 1 | 1 | 3
vimunson | 12/6/2013 | 1 | 1 | 1 | 4
我嘗試了DSUM()
無效,或者我使用的錯誤。 如果表格中的內容不明確,則在代理更改時, total
列將重置為0。
您可以通過相關子查詢獲得所需的內容。
SELECT
a1.agentID,
a1.incurrredDate,
a1.points,
a1.OneFallOff,
a1.TwoFallOff
(
SELECT Sum(a2.TwoFallOff)
FROM attendanceView AS a2
WHERE
a2.agentID = a1.agentID
AND a2.incurrredDate <= a1.incurrredDate
) AS total
FROM attendanceView AS a1;
您也可以使用DSum
,但是隨后需要在DSum
WhereCondition選項中使用帶agentID
和incurrredDate
分隔符。 與子查詢方法相比,這似乎需要更多的精力,而且我發現它更容易出錯。
SELECT
a.agentID,
a.incurrredDate,
a.points,
a.OneFallOff,
a.TwoFallOff,
DSum
(
"TwoFallOff", "attendanceView",
"agentID = '" & a.agentID & "' " &
"AND incurrredDate <= " &
Format(a.incurrredDate, "\#yyyy-m-d\#")
) AS total
FROM attendanceView AS a;
這兩個查詢都使用Access 2007中的示例數據返回請求的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.