如果星期一访问查询条件 return 周末范围,否则 return 昨天

Access Query Criteria return weekend range if monday, else return yesterday

使用 Access 2007

这是我的第一个问题,如果有任何问题,我提前表示歉意"the wrong way"。

我有一个庞大的工作发票数据库。 我们想要一个显示 "How many invoices did we recieve yesterday, if it's monday, how many did we recieve on friday, saturday and sunday?"

的计数器

计数器本身没有问题,但是查询条件让它得到多天真的很烦我(缺乏知识)

不管今天是什么日子,好像都在减去3天。

为什么以下在查询条件中不起作用? (当星期一和昨天的结果不是星期一时不返回星期五、星期六和星期日的值?)

IIf(Weekday(Date()=2);<=Date()-3;Date()-1)

编辑:我使用的是丹麦语版本的 Access 2007,这就是为什么有;而不是 ,

您不能将 IIf() 的结果用作完整条件表达式,但可以将其用作条件参数。使用这样的 WHERE 子句:

WHERE (DateDiff("d",[InvoiceDate],Date()) <= IIf(Weekday(Date())=2,3,1)) 
  AND (DateDiff("d",[InvoiceDate],Date()) >= 1)

在查询设计编辑器中,两个条件将合并为一列(此处为德语访问)。

如果您想包括今天的发票,请省略 AND (DateDiff("d",[InvoiceDate],Date()) >= 1