Access IIF语句中的通配符

时间:2011-11-28 15:56:41

标签: ms-access count wildcard iif

这应该很简单。我可以在Excel中轻松完成,但它并没有实现跳跃。我有一个数据库跟踪卡车车队的状态,包括各种定期维护服务。我有一个查询来轮询所有服务(季度,半年度,年度),并列出服务的容忍截止日期。然后我有一份报告,我希望在其中包含一些基本总数:每种车辆中有多少车辆,每种服务需要多少车辆。

麻烦来自于计算状态。 “在店里”可以完成10%,50%,90%。所以我试图让count()公式使用通配符。这个不起作用:

=Count(IIf([Status] = "In Shop*",1,0))

星号给我带来了场上的每件物品,空白或没有。

2 个答案:

答案 0 :(得分:1)

这个怎么样(编辑:我相信你真的想在这里使用SUM功能,而不是COUNT):

=Sum(IIf(Left([Status], 7) = "In Shop", 1, 0)

答案 1 :(得分:1)

问题在于您没有按其他字段进行分组,因此Count()将返回所有项目。

解决这个问题的三种方法:

  1. 创建一个单独的字段,您可以在其中执行IIF语句。然后,对该字段执行Count(),但在GroupBy子句中包含该字段。
  2. 创建一个VBA函数来封装此逻辑,并从报表上的控件中调用该函数。
  3. 而不是使用Count()使用Sum。
  4. 示例:

    Sum(IIf([Status] Like "in shop*",1,0))