SQL / VBA:如何从一个月的第一天以外的一天开始按会计年度分组

问题描述

如果您要考虑月+日,那么显然您将需要在表(NOT NULL DEFAULT 1)中使用相应的2个字段。

添加后,将计算以下年份: year(orderDate) - IIF(dateserial(year(orderDate), startFYofaCompany_month, startFYofaCompany_day) > orderDate, 1, 0)

将此添加到您在查询中准备的2个位置。

解决方法

我正在尝试(使用MS Access)按会计年度对某些数据进行分组,该会计年度可能与日历年度不同。

如果每个财政年度总是从给定月份的第一天开始,那么解决方案将很简单:只需使用如下if语句即可:

FY: IIf(Month([orderdate])<month([startFYofaCompany]);Year([orderdate])-1;Year([orderdate]))

在像这样的选择查询中

SELECT statement here AS FY,Sum(something) AS SumOfSth
GROUP BY statement here;

但是,在我的情况下,困难在于给定公司的会计年度可以从给定月份的1号以外的日期开始。我正在寻找解决方案,但每个人都认为不是。

如果有人遇到同样的问题并可以分享解决方案,我将不胜感激。

编辑:没有模式重新。会计年度-
该数据库由多个公司组成,并且无论某个公司的FY是从第2月,第3日,第15日还是在给定月份的任何其他日期开始,该数据库都应该工作。开始日期存储在单独的字段中(在上面的伪代码中:startFYofaCompany)。