2014-03-26 165 views
1

我想是這樣MS Access按日期累計和?

Select myTable.eDate, Sum(myTable.revenue) from MyTable 
GROUP BY MyTable.eDate HAVING (((MyTable.eDate) >= #1/1/2014#)) 

我想有它基本上顯示爲「在1月1日的總收入是這樣的,在1月2日的總收入是這樣的,在1月3日的總收入是這樣的,等」過所有日期順序。

一種「滾動累積和」,如果有意義的話。

注意:在1月1日之前在MyTable中有eDates /收入,所以我也試圖限制一切,所以它在1月1日之前甚至不會查看行。

我也嘗試過DSum,但那也沒用。

我也試過

select 
a1.eDate, 
(
select Sum(a2.revenue) 
FROM MyTable as a2 
where 
a2.eDate <= a1.eDate 
) as RunningTotal 
FROM MyTable as a1 
+0

僅供參考,根據您的要求,您可能會更好不這樣做作爲一個SQL查詢,而是使用一個Access報表爲你做 - 報表具有運行總功能,而Access SQL你必須與它做鬥爭才能讓它做你想做的事情。 – Yawar

回答

3

我很抱歉,但我沒有足夠的代表處發表評論。

我認爲你正在試圖做的是一個正在運行的總

SELECT (SELECT sum(revenue) from myTable a2 
where a1.edate >= a2.edate) 
as RunningSumField1, 
edate from myTable as a1 
group by a1.edate 
order by a1.edate 

嘗試此鏈接:

MS Access 2010 Running Total in Query

+0

我試過這個,但不能得到它的工作 – user3219632

+0

我已經更新了一些代碼我的答案 – KerSplosh

+0

我沒有一個名爲「ID」的字段,我試圖通過日期獲得累計和 – user3219632