2011-11-28 127 views
1

这应该很简单。我可以在Excel中轻松做到这一点,但它不会跳跃。我有一个数据库跟踪卡车队的状态,包括各种定期维护服务。我有一个查询轮询所有服务(季度,半年,年度),并列出服务的容忍到期日期。然后我有一份报告,我想在其中列出一些基本总计:每种车辆有多少种在车间中,每种服务需要多少车辆。Access IIF声明中的通配符

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

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

星号让我在领域的每一件物品,空白或没有。

回答

1

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

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

肯定是最简单的解决方案。我曾尝试过SUM和COUNT都无济于事,但我不知道LEFT表达式。 –

1

的问题是,你没有被另一场分组,所以计数()将返回所有项目。

三种方法可以解决这一关我的头顶:

  1. 创建,你执行IIF语句中的独立字段。然后,针对该字段执行Count(),但将该字段包含在GroupBy子句中。
  2. 创建一个VBA函数来封装这个逻辑并从报表上的控件调用该函数。
  3. 而不是使用Count()使用Sum。

实施例:

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