Date 查找给定日期的季度的结束日期

Date 查找给定日期的季度的结束日期,date,ms-access-2007,Date,Ms Access 2007,我将每个季度的结束日期作为表的主键,我需要比较一个日期,以查看在计算中将使用哪个季度的结束值 该表如下所示: EndingDate Value 12/31/2012 $1,000 例如,给定2013年3月1日,我需要返回2012年12月31日,并使用该日期检索1000美元的值 有人知道在MS Access 2007中使用什么来执行此操作吗?我试过: DATEADD(dd, -1, DATEADD(qq, DATEDIFF(qq, 0, DATEINQUESTION), 0))

我将每个季度的结束日期作为表的主键,我需要比较一个日期,以查看在计算中将使用哪个季度的结束值

该表如下所示:

EndingDate     Value
12/31/2012     $1,000
例如,给定2013年3月1日,我需要返回2012年12月31日,并使用该日期检索1000美元的值

有人知道在MS Access 2007中使用什么来执行此操作吗?我试过:

DATEADD(dd, -1, DATEADD(qq, DATEDIFF(qq, 0, DATEINQUESTION), 0))

计算始终使用上一个结束季度的日期以及与该日期关联的值。

一种方法是结合使用
DMax()
DLookup()
。对于名为[EndingBalances]的表中的示例数据

EndingDate值
----------  -----
2012-09-30    900
2012-12-31   1000
2013-03-31   1100
2013-06-30   1200
2013-09-30   1300
2013-12-31   1400
表情


DMax(“EndingDate”、“EndingBalances”、“EndingDate”我使用了这个解决方案,它对我有效:

 Format(DateAdd("s",-1,DateAdd("q",DateDiff("q","1/1/1950",Date()),"1/1/1900")),"Short Date")

到目前为止它仍然有效。

我不明白为什么
2012年12月31日
应该是
2013年3月1日
的季度结束日期。你是说上一个季度的结束日期吗?好吧,在上面的场景中-2013年3月31日还没有实现,因此它没有值,所以(你是正确的)我们使用上一季度的截止日期。谢谢你的回复,Gord!我从来没有想过这样做。