2012-02-01 77 views
2

我有一个MS Excel 2007的公式,它返回特定月份某个日期的工作周。在Access中查询“工作周”SQL

B1 = IF(AND(WEEKDAY(A2,1)<>1,A2=DATE(YEAR(A2),MONTH(A2),1)),A2-WEEKDAY(A2,1)+7,IF(MONTH(A2)<>MONTH(A2-WEEKDAY(A2,1)+7),EOMONTH(A2,0),A2-WEEKDAY(A2,1)+7)) 

其中A1 = 11/2012和B1 = 1/7/2012

我想使用该式中MS Access和将返回相同的值。我试图制定一个查询,但它不会工作。

列A1的字段名称是[rdate],列B1的字段名称是[we_date]。

+0

和A2是??????? – StevieG 2012-02-01 11:26:48

回答

4

不计算,查询。请参阅:

Why should I consider using an auxiliary calendar table?

日历表可以使它更容易 开发围绕涉及日期的任何 业务模式的解决方案。 最后我检查了一下,这包括几乎任何商业模式 ,你可以在一定程度上想到 。恒 问题,最终需要 冗长,复杂和低效 方法包括以下 问题:X和Y之间

  • 多少个工作日?
  • 3月的第二个星期二到4月的第一个星期五之间的所有日期是什么?
  • 我应该预计该货件到达哪个日期?
  • 本季度所有星期五的日期是什么?
  • ...