기출 6번에,=IIf(DCount(1,"산업단지현황","시도코드=txt시도코드")=0,"가동업체 없음","가동업체 총 개수 : " & DCount(1,"산업단지현황","시도코드=txt시도코드")) 라고 작성하였는데,
"가동업체" 대신에 1을 사용한 것으로, 조건을 충족한 만큼, 1을 카운트한다고 볼 수 있을까요?
감사합니다.
안녕하세요.
네, 그렇게 이해하셔도 됩니다.
DCount(1,"산업단지현황","시도코드=txt시도코드")
에서 1은 각 레코드마다 항상 값이 있는 상수 1로 평가됩니다. 따라서 조건을 만족하는 각 레코드에 대해 1을 하나씩 세게 되어, 결과적으로 조건을 만족하는 레코드의 개수를 구합니다.
예를 들어 조건을 만족하는 레코드가 5개라면 DCount(1, ...)의 결과도 5가 됩니다.
다만 문제에서 ‘가동업체’ 필드의 개수를 구하라고 명확하게 요구했다면,
DCount("가동업체","산업단지현황",...)
처럼 해당 필드를 사용하는 것이 문제의 요구에 더 정확하고 채점에도 안전합니다. 특히 가동업체 필드에 Null이 존재한다면 DCount(1,...)과 DCount("가동업체",...)의 결과가 달라질 수도 있습니다.
즉, DCount(1,...) = 조건을 만족하는 레코드를 하나씩 센다라고 이해하시면 됩니다.
즐거운 하루 되세요.
-
관리자2026-08-13 10:15:38
안녕하세요.
네, 그렇게 이해하셔도 됩니다.
DCount(1,"산업단지현황","시도코드=txt시도코드")에서
1은 각 레코드마다 항상 값이 있는 상수 1로 평가됩니다. 따라서 조건을 만족하는 각 레코드에 대해1을 하나씩 세게 되어, 결과적으로 조건을 만족하는 레코드의 개수를 구합니다.예를 들어 조건을 만족하는 레코드가 5개라면
DCount(1, ...)의 결과도5가 됩니다.다만 문제에서 ‘가동업체’ 필드의 개수를 구하라고 명확하게 요구했다면,
DCount("가동업체","산업단지현황",...)처럼 해당 필드를 사용하는 것이 문제의 요구에 더 정확하고 채점에도 안전합니다. 특히
가동업체필드에 Null이 존재한다면DCount(1,...)과DCount("가동업체",...)의 결과가 달라질 수도 있습니다.즉,
DCount(1,...)= 조건을 만족하는 레코드를 하나씩 센다라고 이해하시면 됩니다.즐거운 하루 되세요.