Applies ToMicrosoft 365용 Access Access 2024 Access 2021 Access 2019 Access 2016

Nz 함수를 사용하면 Variant 데이터 형식이 Null일 때 0, 빈 문자열("") 또는 지정된 다른 값을 반환할 수 있습니다. 예를 들어 이 함수를 사용하면 Null 값을 다른 값으로 변환하여 식 전체가 Null이 되지 않게 할 수 있습니다.

구문

Nz ( variant [, valueifnull ] )

Nz 함수 구문에는 다음과 같은 인수가 사용됩니다.

인수

설명

variant

필수 요소입니다. Variant데이터 형식의 변수입니다.

valueifnull

선택 요소입니다(쿼리에 사용된 경우 제외). variant 인수가 Null일 경우 반환할 값을 제공하는 Variant 입니다. 이 인수를 사용하면 0이나 빈 문자열이 아닌 값을 반환할 수 있습니다.

참고: 쿼리 식에 Nz 함수를 사용할 때 valueifnull 인수를 지정하지 않으면 null 값이 포함된 필드에 빈 문자열이 반환됩니다.

variant 인수의 값이 Null이면 Nz 함수는 값이 숫자인지 문자열이어야 하는지에 따라 숫자 0 또는 길이가 0인 문자열을 반환합니다(쿼리 식에 사용될 때 항상 길이가 0인 문자열을 반환함). 선택적 valueifnull 인수가 포함된 경우 Variant 인수가 Null인 경우 Nz 함수는 해당 인수로 지정된 값을 반환 합니다. 쿼리 식에서 사용되는 경우 NZ 함수는 항상 valueifnull 인수를 포함해야 합니다.

variant 의 값이 Null이 아닌 경우에는 Nz 함수가 variant의 값을 반환합니다.

주의

Nz 함수는 Null 값이 포함될 수 있는 식에 유용합니다. 식에 Null 값이 포함된 경우에도 Null이 아닌 값으로 평가되게 하려면 Nz 함수를 사용하여 0, 빈 문자열 또는 사용자 지정 반환 값을 반환합니다.

예를 들어 2 + varX 식은 Variant varXNull인 경우 항상 Null 값을 반환합니다. 그러나 2 + Nz(varX) 식은 2를 반환합니다.

경우에 따라 IIf 함수 대신 Nz 함수를 사용할 수 있습니다. 예를 들어 다음 코드에서는 원하는 결과를 반환하기 위해 IIf 함수를 포함하는 식이 두 개 필요합니다. IIf 함수를 포함하는 첫 번째 식은 변수의 값을 확인하여 이 값이 Null인 경우 0으로 변환하는 데 사용됩니다.

varTemp = IIf(IsNull(varFreight), 0, varFreight)varResult = IIf(varTemp > 50, "High", "Low")

다음 예제에서 Nz 함수는 첫 번째 식과 같은 기능을 제공하며 위의 예제처럼 두 단계를 실행하지 않고 원하는 결과를 한 번에 얻을 수 있습니다.

varResult = IIf(Nz(varFreight) > 50, "High", "Low")

선택 요소인 valueifnull 인수에 값을 지정하면 variantNull일 때 이 값이 반환됩니다. 이 선택 인수를 포함하면 IIf 함수를 포함하는 식을 사용할 필요가 없도록 할 수 있습니다. 예를 들어 다음 식은 IIf 함수를 사용하여 varFreight의 값이 Null인 경우 문자열을 반환합니다.

varResult = IIf(IsNull(varFreight), _    "No Freight Charge", varFreight)

다음은 varFreightNull인 경우 Nz 함수에서 반환할 문자열을 함수의 선택 인수에 제공하는 예제입니다.

varResult = Nz(varFreight, "No Freight Charge")

쿼리 예제

Expression

결과

SELECT ProductID, NZ(Discount,"No Detail Available") AS Expr2 FROM ProductSales;

Expr1 열에서 "ProductID"를 반환하고, "Discount" 필드의 'Null' 값을 평가하고 모든 Null 값에 대해 "사용 가능한 세부 정보 없음"을 반환합니다(null이 아닌 값을 있는 그대로 반환).

SELECT ProductID, NZ(Discount,"No Detail Available") AS ReplaceNull FROM ProductSales;

Product 열에서 "ProductID"를 반환하고, "Discount" 필드의 'Null' 값을 평가하고 모든 Null 값에 대해 "사용 가능한 세부 정보 없음"을 반환하고(null이 아닌 값을 있는 그대로 반환) ReplaceNull 열에 표시합니다.

VBA 예제

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

다음은 폼의 컨트롤을 평가하고 해당 컨트롤의 값에 기초하여 두 문자열 중 하나를 반환하는 예제입니다. 이 프로시저에서는 컨트롤 값이 Null인 경우 Nz 함수를 사용하여 Null 값을 빈 문자열로 변환합니다.

Public Sub CheckValue()    Dim frm As Form    Dim ctl As Control    Dim varResult As Variant    ' Return Form object variable     ' pointing to Orders form.    Set frm = Forms!Orders    ' Return Control object variable     ' pointing to ShipRegion.    Set ctl = frm!ShipRegion    ' Choose result based on value of control.    varResult = IIf(Nz(ctl.Value) = vbNullString, _        "No value.", "Value is " & ctl.Value & ".")    ' Display result.    MsgBox varResult, vbExclamationEnd Sub

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.