DSUM 함수를 사용하면 지정된 레코드 집합, 즉 도메인의 값 집합의 합계를 계산할 수 있습니다. VBA(Visual Basic for Applications) 모듈, 매크로, 쿼리 식 또는 계산된 컨트롤에 DSUM 함수를 사용할 수 있습니다.

예를 들어 쿼리의 계산 필드 식에서 DSum 함수를 사용하여 특정 직원이 특정 기간 동안 수행한 총 매출을 계산할 수 있습니다. 또는 계산된 컨트롤에서 DSum 함수를 사용하여 특정 제품에 대한 실행 중인 매출 합계를 표시할 수 있습니다.

구문

DSum ( expr , domain [, criteria] )

DSum 함수 구문에는 다음과 같은 인수가 있습니다.

인수

설명

expr

필수 요소입니다. 합계할 값이 있는 숫자 필드를 식별하는 식입니다. 테이블 또는 문자열 식 필드를 식별하는 작업일 수 있습니다. 또는 해당 필드의 데이터에 대한 계산을 수행하는 식일 수 있습니다. expr에서테이블에 필드의 이름, 폼, 상수 또는 함수에 대한 컨트롤을 포함할 수 있습니다. expr에 함수가 포함된 경우 기본 제공 또는 사용자 정의일 수 있지만 다른 도메인 집계 또는 집계 함수는 SQL 없습니다.

domain

필수 요소입니다. 도메인을 구성하는 레코드 집합을 식별하는 문자열 식입니다. 매개 변수가 필요하지 않은 쿼리의 테이블 이름 또는 쿼리 이름일 수 있습니다.

criteria

선택 사항입니다. DSum 함수가 수행되는 데이터의 범위를 제한하는 데 사용되는 문자열 식입니다. 예를 들어 조건은 종종 WHERE라는 단어가 없는 SQL 식의 WHERE 절과 동일합니다. 조건이 생략된 경우 DSum 함수는 전체 도메인에 대해 expr를 평가합니다. 조건에 포함된 모든 필드는 도메인의 필드가 되어야 합니다. 그렇지 않으면 DSum 함수가 Null을 반환합니다.


주의

criteria 인수를 충족하는 레코드가 없거나 도메인에 레코드가 없으면 DSum 함수는 Null을 반환합니다.

DSum 함수를 매크로, 모듈, 쿼리 식 또는 계산 컨트롤 중 어디에 사용하는지에 관계없이 criteria 인수를 주의 깊게 작성하여 이 인수가 올바르게 계산되도록 해야 합니다.

쿼리의 조건 행, 쿼리 식의 계산 필드 또는 업데이트 쿼리의 업데이트 행에서 조건을 지정하기 위해 DSum 함수를 사용할 수 있습니다.

참고: 계산된 필드 식에서 DSum 또는 Sum 함수를 사용할 요약 쿼리. DSum 함수를 사용하는 경우 데이터가 그룹화되기 전에 값이 계산됩니다. Sum 함수를 사용하는 경우 필드 식의 값이 평가되기 전에 데이터가 그룹화됩니다.

폼 또는 보고서의 레코드 원본에 없는 필드의 값 집합의 합계를 표시해야 하는 경우 DSum 함수를 사용할 수 있습니다. 예를 들어 특정 제품에 대한 정보를 표시하는 폼이 있는 경우를 가정해 보겠습니다. DSum 함수를 사용하여 계산된 컨트롤에서 해당 제품의 실행 중인 총 매출을 유지할 수 있습니다.

누계를 보고서의 컨트롤에 표시해야 하는 경우 컨트롤의 기반이 되는 필드가 보고서의 레코드 원본에 포함되어 있다면 해당 컨트롤의 RunningSum 속성을 사용할 수 있습니다. 누적 합계를 폼에 표시하려면 DSum 함수를 사용합니다.

참고: 이 함수에서는 domain의 레코드에 대한 변경 내용이 저장되지 않은 경우 해당 내용을 고려하지 않습니다. DSum 함수가 변경된 값을 기준으로 계산을 수행하도록 하려면 먼저 탭의 레코드 그룹에서 레코드 저장을 클릭하고 포커스를 다른 레코드로 이동하거나 Update 메서드를 사용하여 변경 내용을 저장해야 합니다.

예제

식에서 DSum 함수 사용    업데이트 쿼리의 업데이트 행에서 도메인 함수(예: DSum)를사용할 수 있습니다. 예를 들어 제품 테이블에서 제품당 현재 매출을 추적하려는 경우를 가정해 보겠습니다. SalesSoFar라는 새 필드를 제품 테이블에 추가하고 업데이트 쿼리를 실행하여 올바른 값을 계산하고 레코드를 업데이트할 수 있습니다. 이렇게하려면 제품 테이블을 기반으로 새 쿼리를 만들고 디자인 탭에서 쿼리 유형 그룹에서 업데이트를 클릭합니다. SalesSoFar 필드를 쿼리 눈금에 추가하고 업데이트 행에 다음을 입력합니다.

DSum("[Quantity]*[UnitPrice]", "Order Details", _
"[ProductID] = "& [ProductID])

쿼리를 실행하면 Order Details 테이블의 정보를 기준으로 각 제품의 총 판매액이 계산됩니다. 각 제품의 판매액 합계는 Products 테이블에 추가됩니다.

VBA 코드에 DSum 사용    

참고: VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.

다음은 Freight 필드에 있는 영국으로 선적된 주문에 대한 값의 총계를 계산하는 예제입니다. 도메인은 Orders 테이블입니다. criteria 인수는 결과 레코드 집합을 ShipCountryRegion이 UK인 레코드로 제한합니다.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")

다음은 두 가지 조건을 사용하여 총계를 계산하는 예제입니다. 여기에서는 문자열 식에 작은따옴표(') 및 파운드 기호(#)가 들어 있으므로 문자열을 연결할 때 문자열 리터럴은 작은따옴표로 묶이고 날짜는 파운드 기호로 묶입니다.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK' AND _
[ShippedDate] > #1-1-95#")

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Office 참가자 참가

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?

의견 주셔서 감사합니다!

×