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

Microsoft Access를 사용하는 경우 데이터에 직접 없는 값으로 작업해야 하는 경우가 많습니다. 예를 들어 주문에 대한 판매세를 계산하거나 주문 자체의 총 가치를 계산하려고 합니다. 식을 사용하여 이러한 값을 계산할 수 있습니다. 식을 사용하려면 먼저 올바른 구문으로 식을 작성합니다. 구문은 식에서 단어와 기호가 올바르게 결합되게 하는 규칙 집합입니다. 처음에는 Access에서 식을 읽기 어려울 수 있습니다. 그러나 식 구문을 잘 이해하고 약간 연습한다면 읽기가 훨씬 쉬워집니다.

이 문서의 내용

식의 개요

식은 기본 제공되거나 사용자가 정의한 함수, 식별자, 연산자, 값, 상수 중 일부 또는 전부가 결합된 것으로, 단일 값으로 계산됩니다.

식의 구성 요소

예를 들어 다음 식에는 일반 구성 요소가 포함되어 있습니다.

=Sum([Purchase Price])*0.08 
  • Sum()은 기본 제공 함수입니다.

  • [Purchase Price]는 식별자입니다.

  • *는 수학 연산자입니다.

  • 0.08은 상수입니다.

폼 바닥글 또는 보고서 바닥글의 텍스트 상자에 이 식을 사용하여 항목 그룹의 판매세를 계산할 수 있습니다.

식은 이 예제에 나와 있는 것보다 훨씬 더 복잡할 수도 있고 훨씬 더 단순할 수도 있습니다. 예를 들어 다음의 부울 식은 연산자와 상수로만 이루어져 있습니다.

>0

이 식은 다음을 반환합니다.

  • 0보다 큰 숫자와 비교하는 경우 True

  • 0보다 작은 숫자와 비교하는 경우 False

컨트롤 또는 테이블 필드의 유효성 검사 규칙 속성에 이 식을 사용하여 양수 값만 입력되도록 할 수 있습니다. 식은 계산을 수행하거나, 문자를 조작하거나, 데이터를 테스트하기 위해 여러 위치에서 사용됩니다. 테이블, 쿼리, 폼, 보고서 및 매크로에는 모두 식을 허용하는 속성이 있습니다. 예를 들어 컨트롤의 컨트롤 원본기본값 속성에 식을 사용할 수 있습니다. 테이블 필드의 유효성 검사 규칙 속성에 식을 사용할 수도 있습니다.

맨 위로 이동

식의 구성 요소

식을 작성하려면 함수, 연산자, 상수 및 값을 사용하여 식별자를 결합합니다. 모든 유효한 식은 하나 이상의 함수 또는 하나 이상의 식별자를 포함해야 하고, 상수 또는 연산자를 포함할 수도 있습니다. 다른 식의 일부로 식을 사용할 수도 있으며, 일반적으로 함수의 인수로 사용할 수 있습니다. 이를 식 중첩이라고 합니다.

  • 식별자    일반적인 형식은 다음과 같습니다.

    [Collection name]![Object name].[Property name]

    식의 컨텍스트에서 고유하게 만들어주는 식별자의 충분한 부분을 지정하기만 하면 됩니다. 식별자의 형식이 [Object name]인 경우도 드물지 않습니다.

  • 함수    일반적인 형식은 다음과 같습니다.

    Function(argument, argument)

    인수 중 하나는 일반적으로 식별자 또는 식입니다. 인수가 필요하지 않은 함수도 있습니다. 특정 함수를 사용하기 전에 함수 구문을 검토합니다. 자세한 내용은 함수(범주별로 정렬됨)를 참조하세요.

  • 연산자    일반적인 형식은 다음과 같습니다.

    Identifier operator identifier

    이 형식에 대한 예외는 연산자 섹션에 자세히 설명되어 있습니다.

  • 상수    일반적인 형식은 다음과 같습니다.

    Identifier comparison_operator  constant
  •     값은 식의 여러 위치에서 발생할 수 있습니다.

맨 위로 이동

개체, 컬렉션 및 속성

Access 데이터베이스의 모든 테이블, 쿼리, 폼, 보고서 및 필드를 개별적으로 개체라고 합니다. 모든 개체는 이름이 있습니다. 일부 개체는 Microsoft Office Access 연락처 서식 파일에서 만들어진 데이터베이스의 연락처 테이블과 같이 이미 이름이 지정되어 있습니다. 새 개체를 만들 때 이름을 지정합니다.

특정 개체 형식의 모든 구성원 집합을 컬렉션이라고 합니다. 예를 들어 데이터베이스의 모든 테이블 집합이 컬렉션입니다. 데이터베이스의 컬렉션 구성원인 일부 개체가 다른 개체를 포함하는 컬렉션일 수도 있습니다. 예를 들어 테이블 개체는 필드 개체를 포함하는 컬렉션입니다.

개체는 개체 특성을 설명하고, 변경하는 방법을 제공하는 속성을 포함합니다. 예를 들어 쿼리 개체에는 기본 보기 속성이 있는데, 이 속성은 쿼리를 실행할 때 쿼리가 표시되는 방법을 설명하고 지정할 수 있게 해줍니다.

다음 다이어그램은 컬렉션, 개체 및 속성 사이의 관계를 보여 줍니다.

컬렉션, 개체, 속성의 관계

3 속성

2 개체

1 컬렉션

맨 위로 이동

식별자

식에 개체, 컬렉션 또는 속성을 사용할 때 식별자를 사용하여 해당 요소를 참조합니다. 식별자는 식별하는 요소의 이름과 이 요소가 속한 요소의 이름도 포함합니다. 예를 들어 필드의 식별자는 필드의 이름과 이 필드가 속한 테이블의 이름을 포함합니다. 이러한 식별자의 예는 다음과 같습니다.

[Customers]![BirthDate]

일부 경우 요소의 이름은 그 자체가 식별자로 작동합니다. 이는 만드는 식의 컨텍스트에서 요소의 이름이 고유한 경우에 해당합니다. 식별자의 나머지 부분은 컨텍스트로 나타냅니다. 예를 들어 테이블을 하나만 사용하는 쿼리를 디자인하는 경우 테이블의 필드 이름은 해당 테이블에서 고유해야 하므로 필드 이름 단독으로 식별자로 작동합니다. 테이블을 하나만 사용하므로 테이블 이름은 필드를 참조하기 위해 쿼리에 사용하는 식별자에 포함됩니다.

다른 경우에는 참조가 작동하도록 하려면 식별자의 부분에 대해 명시적이어야 합니다. 이는 식별자가 식의 컨텍스트에서 고유하지 않은 경우에 해당합니다. 모호성이 있는 경우 컨텍스트에서 고유하도록 식별자의 충분한 부분을 명시적으로 나타내야 합니다. 예를 들어 Products라는 테이블과 Orders라는 테이블을 사용하는 쿼리를 디자인하려고 하고, 두 테이블에 모두 ProductID라는 필드가 있다고 가정합니다. 이 경우 양쪽 ProductID 필드를 참조하기 위해 쿼리에 사용하는 식별자는 필드 이름 외에 테이블 이름도 포함해야 합니다. 예:

[Products]![ProductID]

식별자 연산자    식별자에 사용할 수 있는 연산자는 세 가지입니다.

  • 느낌표 연산자(!)

  • 점 연산자(.)

  • 대괄호 연산자([ ])

이러한 연산자는 식별자의 각 부분을 대괄호로 묶은 다음 느낌표 또는 점 연산자를 사용해 결합하여 사용합니다. 예를 들어 Employees라는 테이블의 Last Name이라는 필드의 식별자는 [Employees]![Last Name]으로 표현할 수 있습니다. 느낌표 연산자는 Access에 다음에 오는 항목이 느낌표 연산자 앞에 있는 컬렉션에 속하는 개체라고 알려줍니다. 이 경우 [Last Name]은 그 자체가 테이블 개체인 [Employees] 컬렉션에 속하는 필드 개체입니다.

엄격하게 말해서, 식별자 또는 부분 식별자 주위에 항상 대괄호를 입력할 필요는 없습니다. 식별자에 공백 또는 기타 특수 문자가 없는 경우 Access는 식을 읽을 때 자동으로 대괄호를 추가합니다. 그러나 사용자 스스로 대괄호를 입력하는 것이 좋습니다. 그러면 오류를 방지하는 데 도움이 되며, 식의 특정 부분이 식별자임을 나타내는 시각적 힌트로도 기능합니다.

맨 위로 이동

함수, 연산자, 상수 및 값

식을 만들려면 식별자 이외에도 필요한 항목이 있습니다. 일종의 작업을 수행해야 합니다. 함수, 연산자 및 상수를 사용하여 식에서 작업을 수행합니다.

함수

함수는 식에 사용할 수 있는 프로시저입니다. Date와 같은 일부 함수는 작동하기 위해 입력이 필요하지 않습니다. 그러나 대부분의 함수는 인수라는 입력이 필요합니다.

이 문서의 시작 부분에 있는 예제에서 DatePart 함수는 두 개의 인수 즉, interval 인수(값: "yyyy")와 date 인수(값: [Customers]![BirthDate])를 사용합니다. DatePart 함수는 최소한 이러한 두 개의 인수(interval 및 date)가 필요하지만, 최대 네 개의 인수를 받아들일 수 있습니다.

다음 목록은 일반적으로 식에 사용되는 몇 가지 함수를 보여 줍니다. 해당 함수에 사용하는 구문에 대한 자세한 내용을 보려면 각 함수의 링크를 클릭하세요.

  • Date 함수는 현재 시스템 날짜를 식에 삽입하는 데 사용됩니다. 이 함수는 일반적으로 Format 함수와 함께 사용되며, 날짜/시간 데이터를 포함하는 필드의 필드 식별자와도 함께 사용됩니다.

    =Date()
  • DatePart 함수는 날짜(대개 필드 식별자에서 가져온 날짜, 그러나 때에 따라 Date와 같은 다른 함수에서 반환된 날짜 값)의 일부를 확인하거나 추출하는 데 사용됩니다.

    DatePart ( "yyyy", Date())
  • DateDiff 함수는 두 날짜(대개 필드 식별자에서 가져온 날짜와 Date 함수를 사용하여 가져온 날짜) 간의 차이를 확인하는 데 사용됩니다.

    =DateDiff(“d”, Now(), [Orders].[ReceiveBefore])-10 
  • Format 함수는 식별자 및 다른 함수의 결과에 형식을 적용하는 데 사용됩니다.

    Format([Date],"ww")=Format(Now(),"ww")-1 
  • IIf 함수는 식을 true 또는 false로 계산한 다음, 식이 true로 계산되면 특정 값을 반환하고 식이 false로 계산되면 다른 값을 반환하는 데 사용됩니다.

    =IIf([CountryRegion]="Italy", "Italian", "Some other language")
  • InStr 함수는 다른 문자열 내에서 문자 또는 문자열의 위치를 검색하는 데 사용됩니다. 검색되는 문자열은 대개 필드 식별자에서 가져옵니다.

    InStr(1,[IPAddress],".")
  • Left, MidRight 함수는 문자열에서 가장 왼쪽에 있는 문자(Left), 가운데의 특정 위치(Mid) 또는 가장 오른쪽에 있는 문자(Right)부터 문자를 추출하는 데 사용됩니다. 이러한 함수는 일반적으로 InStr 함수와 함께 사용됩니다. 이러한 함수가 문자를 추출하는 문자열은 대개 필드 식별자에서 가져옵니다.

    Left([ProductName], 1)
    Right([AssetCode], 2) 
    Mid([Phone],2,3) 
    

함수 목록은 함수(범주별로 정렬됨)를 참조하세요.

연산자

연산자는 식의 다른 요소 간 특정 산술 또는 논리 관계를 나타내는 단어 또는 기호입니다. 연산자는 다음일 수 있습니다.

  • 산술 연산자(예: 더하기 기호(+))

  • 비교 연산자(예: 등호 기호(=))

  • 논리 연산자(예: Not)

  • 연결 연산자(예: &)

  • 특수 연산자(예: Like)

연산자는 일반적으로 두 식별자 간의 관계를 나타내는 데 사용됩니다. 다음 표에는 Access 식에 사용할 수 있는 연산자가 설명되어 있습니다.

산술 연산자    

산술 연산자는 두 개 이상의 숫자에서 값을 계산하거나 수의 부호값을 양수에서 음수로 바꾸는 데 사용됩니다.

연산자

용도

예제

+

두 숫자 더하기

[Subtotal]+[SalesTax]

-

두 숫자의 차이를 구하거나 숫자가 음수 값임을 나타냄

[Price]-[Discount]

*

두 숫자 곱하기

[Quantity]*[Price]

/

첫 번째 숫자를 두 번째 숫자로 나누기

[Total]/[ItemCount]

\

두 숫자를 모두 정수로 반올림하고 첫 번째 숫자를 두 번째 숫자로 나눈 다음 결과의 소수 부분을 잘라냄

[Registered]\[Rooms]

Mod

첫 번째 숫자를 두 번째 숫자로 나누고 나머지만 반환

[Registered] Mod [Rooms]

^

숫자를 지수 값만큼 제곱

숫자 ^ 지수

비교 연산자    

비교 연산자는 값을 비교하고 true, false 또는 Null(알 수 없는 값)인 결과를 반환하는 데 사용됩니다.

연산자

용도

<

첫 번째 값이 두 번째 값보다 작은지 확인

<=

첫 번째 값이 두 번째 값보다 작거나 같은지 확인

>

첫 번째 값이 두 번째 값보다 큰지 확인

>=

첫 번째 값이 두 번째 값보다 크거나 같은지 확인

=

첫 번째 값이 두 번째 값과 같은지 확인

<>

첫 번째 값이 두 번째 값과 같지 않은지 확인

모든 경우에 첫 번째 값이나 두 번째 값이 Null이면 결과도 Null입니다. Null은 알 수 없는 값을 나타내므로 Null 값과 비교한 모든 결과도 알 수 없습니다.

논리 연산자    

논리 연산자는 두 값을 결합하여 true, false 또는 Null 결과를 반환하는 데 사용됩니다. 논리 연산자를 부울 연산자로 지칭한 내용도 볼 수 있습니다.

연산자

사용법

설명

And

Expr1 And Expr2

Expr1과 Expr2가 true이면 True

Or

Expr1 Or Expr2

Expr1 또는 Expr2가 true이면 True

Eqv

Expr1 Eqv Expr2

Expr1과 Expr2가 모두 true이거나 모두 false이면 True

Not

Not Expr

Expr이 true가 아니면 True

Xor

Expr1 Xor Expr2

Expr1과 Expr2 중 하나만 true이되, 둘 다 true는 아니면 True

연결 연산자    

연결 연산자는 텍스트 값 두 개를 하나의 문자열로 결합하는 데 사용됩니다.

연산자

사용법

설명

&

string1 & string2

두 문자열을 하나로 결합

+

string1 + string2

두 문자열을 하나로 결합하고 null 값 전파

특수 연산자    

특수 연산자는 다음 표에 설명된 대로 사용됩니다.

연산자

설명

추가 정보

Is Null or Is Not Null

값이 Null인지 아니면 Not Null인지 확인합니다.

Like "pattern"

? * 같은 와일드카드 연산자를 사용하여 일치하는 문자열 값을 검색합니다.

Like 연산자

Between val1 And val2

숫자 또는 날짜 값이 특정 범위에 속하는지 확인

Between...And 연산자

In(string1,string2...)

문자열 값이 특정 문자열 값 집합에 포함되었는지 확인

In 연산자

상수

상수는 바뀌지 않으며 식에 사용할 수 있는, 알려진 값입니다. Access에서 일반적으로 사용되는 네 가지 상수는 다음과 같습니다.

  • True 논리적으로 true임을 나타냅니다.

  • False 논리적으로 false임을 나타냅니다.

  • Null 알려진 값이 없음을 나타냅니다.

  • "" (empty string) 빈 것으로 알려진 값을 나타냅니다.

상수는 함수에 대한 인수로 사용될 수 있으며, 식에서 조건의 일부로 사용될 수 있습니다. 예를 들어 빈 문자열 상수("")를 쿼리에서 열에 대한 조건의 일부로 사용하여(조건을 <>""로 입력) 해당 열의 필드 값을 계산할 수 있습니다. 이 예제에서는 <>가 연산자이고 ""가 상수입니다. 함께 사용되면 적용된 식별자가 빈 문자열과 비교되어야 함을 나타냅니다. 식별자의 값이 빈 문자열이 아닌 그 밖의 것이면 식의 결과는 true입니다.

Null 상수를 사용할 때는 주의하세요. 대부분의 경우 Null을 비교 연산자와 함께 사용하면 오류가 발생합니다. 식에서 값을 Null과 비교하려면 Is Null 또는 Is Not Null 연산자를 사용하세요.

숫자 1,254 또는 문자열 "1과 10 사이의 숫자를 입력합니다." 리터럴 값을 식에 사용할 수 있습니다. 필요한 경우 기호와 소수점을 비롯하여 일련의 숫자로 이루어진 숫자 값도 사용할 수 있습니다. Access에서는 기호가 없는 숫자를 양수로 간주합니다. 음수로 만들려면 빼기 기호(-)를 넣습니다. 공학용 표기법을 사용할 수도 있습니다. 이를 위해서는 "E" 또는 "e"와 지수 기호를 넣습니다(예: 1.0E-6).

텍스트 문자열을 사용하는 경우 Access에서 문자열을 올바르게 해석할 수 있도록 해당 문자열을 따옴표로 묶어야 합니다. 경우에 따라서는 따옴표가 자동으로 추가되기도 합니다. 예를 들어 유효성 검사 규칙이나 쿼리 조건에 사용할 식의 텍스트를 입력하는 경우 사용자가 입력하는 텍스트 문자열 앞뒤에 따옴표가 자동으로 배치됩니다.

가령 Paris라는 텍스트를 입력하면 식에 "Paris"가 표시됩니다. 식에서 실제로 따옴표로 묶인 문자열을 생성하려면 중첩 문자열을 작은 따옴표(')로 묶거나 세 개의 큰 따옴표(") 안에 넣습니다. 예를 들어 다음 두 식은 결과가 서로 같습니다.

Forms![Contacts]![City]. DefaultValue = ' "Paris" ' 
Forms![Contacts]![City].DefaultValue = " " "Paris" " " 

날짜/시간 값을 사용하려면 해당 값을 파운드 기호(#)로 묶습니다. 예를 들어 #3-7-17#, #7-Mar-17#, #Mar-7-2017# 등은 모두 유효한 날짜/시간 값입니다. Access에서 # 문자로 둘러싸인 유효한 날짜/시간 값을 발견하면 그 값이 날짜/시간 데이터 형식으로 자동 처리됩니다.

맨 위로 이동

웹 데이터베이스에서는 식의 중첩이 65 수준으로 제한됩니다.

65 수준 넘게 중첩된 식은 브라우저에서 작동하지 않으므로 Access 웹 데이터베이스에서는 이러한 식을 사용하지 않아야 합니다. 사용할 경우 식이 작동하지 않으며 별도의 오류 메시지는 표시되지 않습니다.

&, ANDOR 연산자를 사용하여 서버에 추가 중첩 수준을 만들 수 있지만 Access 클라이언트에서는 이러한 수준이 반영되지 않습니다. 예를 들어 "a" & "b" & "c" 식은 식 작성기에서 중첩되지 않지만, SharePoint에서는 concatenate.Db("a", concatenate.Db("b", "c") )로 바뀝니다. 이 변환을 통해 한 수준의 중첩이 만들어집니다. 단일 식에서 &, AND 또는 OR 연산자를 연속해서 사용하면 서버의 중첩 수준 제한인 65 수준을 초과하게 되어 브라우저에서 식이 작동하지 않게 될 수 있습니다.

맨 위로 이동

식 작성기 사용

식 소개

식 작성

식 예제

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

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

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