2011-11-28 4 views
1

이것은 간단해야합니다. 나는 Excel에서 쉽게 할 수 있지만 점프를하지는 않습니다. 나는 다양한 정기 유지 보수 서비스를 포함하여 트럭 함대의 상태를 추적하는 데이터베이스를 가지고 있습니다. 모든 서비스 (분기 별, 반기 별, 연간)를 폴링하고 해당 서비스의 허용 기한 날짜를 나열하는 쿼리가 있습니다. 그런 다음 몇 가지 기본적인 총계를 포함하고자하는 보고서가 있습니다. 차량의 각 종류는 얼마나 많은지, 각 종류의 서비스가 얼마나 많은지에 대한 설명입니다.Access IIF 문에서 와일드 카드

상태를 계산하면 문제가 발생합니다. "상점에서"10 %, 50 %, 90 % 완성 될 수 있습니다. 그래서 와일드 카드를 사용하는 count() 수식을 얻으려고합니다. 이건 작동하지 않습니다 :

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

별표는 필드의 모든 항목을 공백 또는 아니오로 가져옵니다. (: 나는 당신이 실제로 여기에 SUM 기능을 사용하려는 생각하지 COUNT편집) :

답변

1
이것에 대해 어떻게

=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))