MS按月访问年初至今的数字

时间:2013-09-18 12:46:29

标签: ms-access

我在Access数据库中有一个查询,它返回以下结果:

MthName 2010
Jan £4.51
Feb £10.20
Mar £17.51
Apr £22.86
May £28.82
Jun £33.30
Jul £37.96
Aug £42.52
Sep £47.88
Oct £54.25
Nov £60.52
Dec £65.80

这很好,但这些是年初至今的数字,我想创建一个可以给我实际月份数的查询。

采取上面的样本,Jan数字显然是4.51英镑,但是2月数字是

(£10.2-£4.51)=£5.70

我尝试过使用像DLOOKUP这样的东西,但它似乎很慢并且无法正常工作。

这可以在Excel中轻松实现,但我希望找到一个查询以供将来使用。

由于

1 个答案:

答案 0 :(得分:0)

尽可能避免使用Dlookup。

如果可以添加SEQUENCE编号为月的列[mntNum]:

mtnNum MthName 2010
01 Jan £4.51
02 Feb £10.20
03 Mar £17.51
04 Apr £22.86
05 May £28.82
06 Jun £33.30
07 Jul £37.96
08 Aug £42.52
09 Sep £47.88
10 Oct £54.25
11 Nov £60.52
12 Dec £65.80

查询

SELECT table.mntNum, table.mntName, table.[2010], [2010]-nz((SELECT [prev].[2010] FROM [table] as [prev] where [prev].[mntNum]=[table].[mntNum]-1),0) AS JUST_THIS_MONTH
FROM [table];

UPD: 此查询的结果

mntNum  mntName 2010    JUST_THIS_MONTH
1   Jan 4.51    4.51
2   Feb 10.2    5.69
3   Mar 17.51   7.31
4   apr 22.86   5.35
5   may 28.82   5.96
6   jun 33.3    4.48
7   jul 37.96   4.66
8   Aug 42.52   4.56
9   Sep 47.88   5.36
10  Oct 54.25   6.37
11  Nov 60.52   6.27
12  Dec 65.8    5.27999999999999