수학적 계산 수행, 텍스트 결합 또는 추출 또는 데이터 유효성 검사와 같은 Microsoft Access의 다양한 작업에 식을 사용할 수 있습니다. 이 문서에서는 식 사용 시기, 구성 요소 부분 및 Microsoft Excel 수식과 비교하는 방법에 대한 개요 정보를 제공합니다.
이 문서의 내용
식의 개요
이렇게 생각해 보세요. Access에서 어떤 작업을 수행하도록 할 때는 해당 언어로 말해야 합니다. 예를 들어 Access에 "Customers 테이블에서 BirthDate 필드를 보고 고객의 출생 연도를 알려주세요"라고 말하려고 합니다. 이 식을 다음과 같이 작성할 수 있습니다.
DatePart("yyyy",[Customers]![BirthDate])
이 식은 DatePart 함수와 및 의 두 인수 값 "yyyy"[Customers]![BirthDate]으로 구성됩니다.
이 식을 자세히 살펴보겠습니다.
1 DatePart는 날짜를 검사하고 특정 부분을 반환하는 함수입니다. 이 경우 첫 번째 두 인수가 사용됩니다.
2 interval 인수는 Access에 반환할 날짜의 일부를 알려줍니다. 이 경우 "yyyy" 반환된 날짜의 연도 부분만 반환하도록 Access에 알릴 수 있습니다.
3 date 인수는 Access에 날짜 값을 찾을 위치를 알려줍니다. 이 경우 [Customers]![BirthDate] 는 Customers 테이블의 BirthDate 필드에서 날짜를 찾도록 Access에 지시합니다.
식 사용 방법
다음과 같은 방법으로 식을 사용할 수 있습니다.
- 데이터로 직접 제시되지 않은 값을 계산합니다. 테이블 및 쿼리의 필드 값과 폼 및 보고서의 컨트롤 값을 계산할 수도 있습니다.
- 테이블 필드나 폼 또는 보고서의 컨트롤에 대한 기본값을 설정합니다. 이러한 기본값은 테이블, 폼 또는 보고서를 열 때마다 표시됩니다.
- 사용자가 필드나 컨트롤에 어떤 값을 입력할 수 있는지 제어하는 유효성 검사 규칙을 만듭니다.
- 결과를 원하는 하위 집합으로 제한하는 쿼리 조건을 정의합니다.
값 계산
Access에서 식을 사용하는 가장 일반적인 방법 중 하나는 데이터에서 직접 존재하지 않는 값을 계산하는 것입니다. 이러한 계산이 필요한 테이블의 열 또는 쿼리를 계산 필드라고 합니다. 둘 이상의 테이블 필드를 결합하는 계산 필드를 만들 수 있습니다. 예를 들어, 대부분의 테이블은 이름과 성을 별도의 필드에 저장합니다. 이름과 성을 결합하고 단일 필드에 표시하려면 테이블 또는 쿼리에서 계산 필드를 만들 수 있습니다.
[FirstName] & " " & [LastName].
이 경우 앰퍼샌드(&)는 필드의 값 FirstName , 공백 문자(따옴표로 묶인 공백) 및 필드의 값을 LastName 결합합니다.
기본값 정의
테이블의 필드나 컨트롤에 대한 기본값을 제공하는 데도 식을 사용할 수 있습니다. 예를 들어 날짜 필드의 기본값을 현재 날짜로 설정하려면 해당 필드의 기본값 속성 상자에 다음을 입력합니다.
Date()
유효성 검사 규칙 만들기
또한 식을 사용하여 유효성 검사 규칙을 설정할 수도 있습니다. 예를 들어 현재 날짜 또는 그 이후의 날짜를 입력해야 하는 컨트롤이나 테이블 필드에 유효성 검사 규칙을 사용할 수 있습니다. 이 경우 유효성 검사 규칙 속성 상자의 값을 다음으로 설정하면 됩니다.
>= Date()
쿼리 조건 정의
마지막으로, 쿼리 조건을 설정하는 데도 식을 사용할 수 있습니다. 예를 들어 일정한 기간 동안 선적된 주문 건에 대한 제품 판매를 확인하려는 경우를 생각해 보겠습니다. 날짜 범위를 지정하기 위한 조건을 입력한 다음 해당 조건에 맞는 행만 반환되도록 할 수 있습니다. 가령 다음과 같은 식을 사용할 수 있습니다.
Between #1/1/2017# And #12/31/2017#
쿼리에 조건을 추가한 다음 쿼리를 실행하면 지정한 날짜에 맞는 값만 반환됩니다.
식의 예
다음 표에는 몇 가지 예제 Access 식과 각 식의 일반적인 사용 방식이 나와 있습니다.
| 식 | 용도 |
|---|---|
=[RequiredDate]-[ShippedDate] |
보고서에서 배송 요청일과 선적일이라는 두 개의 텍스트 상자 컨트롤에 들어 있는 날짜 값 사이의 차이를 계산합니다. |
Date() |
날짜/시간 테이블 필드의 기본값을 현재 날짜로 설정합니다. |
Between #1/1/2017# And #12/31/2017# |
쿼리에 날짜/시간 필드의 조건을 지정합니다. |
=[Orders Subform].Form!OrderSubtotal |
주문 폼의 주문 하위 폼에 있는 OrderSubtotal 컨트롤의 값을 반환합니다. |
>0 |
테이블의 숫자 필드에 대한 유효성 검사 규칙을 설정합니다. 이 예제의 경우 사용자는 0보다 큰 값을 입력해야 합니다. |
일부 식은 등호(=) 연산자로 시작하고 다른 식은 그렇지 않습니다. 폼이나 보고서의 컨트롤 값을 계산할 때 연산자를 = 사용하여 식을 시작합니다. 쿼리 또는 필드 또는 컨트롤의 DefaultValue 또는 ValidationRule 속성에 식을 입력하는 경우와 같은 다른 인스턴스에서는 테이블의 텍스트 필드에 식을 추가하지 않는 한 연산자를 사용하지 = 않습니다. 쿼리에 식을 추가하는 경우와 같은 경우에 Access는 연산자를 = 자동으로 제거합니다.
식의 구성 요소
식은 단독으로 또는 조합해서 사용하여 결과를 생성할 수 있는 여러 가능한 구성 요소로 구성됩니다. 이러한 구성 요소는 다음과 같습니다.
- 식별자 폼 또는 보고서에서 테이블 필드나 컨트롤의 이름 또는 이러한 필드나 컨트롤의 속성입니다.
-
연산자 예를 들어 (더하기
+) 또는-(빼기)입니다. - 함수 예를 들어 SUM 또는 AVG입니다.
- 상수 - 변경되지 않는 값입니다(예: 텍스트 문자열 또는 식에서 계산되지 않는 숫자).
- 값 "1에서 10 사이의 숫자 입력"과 같은 문자열 또는 작업에 사용되는 숫자(예: 1,254)입니다.
다음 섹션에서는 이러한 구성 요소를 자세히 설명합니다.
식별자
식별자는 필드, 속성 또는 컨트롤의 이름입니다. 식에서 필드, 속성 또는 컨트롤과 관련된 값을 참조하려면 식별자를 사용합니다. 예를 들어 식 을 =[RequiredDate]-[ShippedDate]고려합니다. 이 식은 필드 또는 컨트롤의 ShippedDate 값을 필드 또는 컨트롤 값 RequiredDate 에서 뺍니다. 이 식에서 및 ShippedDate 는 모두 RequiredDate 식별자로 사용합니다.
연산자
Access는 , , -* (곱하기) 및 / (나누기)와 같은 +일반적인 산술 연산자를 포함하여 다양한 연산자를 지원합니다. 값을 비교하는 데 (보다 작음) 또는 > (보다 큼) 등의 비교 연산 < 자, 및 + 와 같은 & 텍스트 연산자, 텍스트 연결(결합)에는 및 And 와 같은 Not 논리 연산자 및 Access와 관련된 기타 연산자를 사용할 수도 있습니다.
함수
함수는 식에 사용할 수 있는 기본 제공 프로시저입니다. 값을 계산하고, 텍스트와 날짜를 조작하고, 데이터를 요약하는 등의 다양한 작업에 함수를 사용할 수 있습니다. 예를 들어 일반적으로 사용되는 함수 중 하나인 DATE는 현재 날짜를 반환하는 함수입니다. 테이블의 필드에 대한 기본값을 설정하는 식에 사용하는 등의 여러 가지 방식으로 DATE 함수를 사용할 수 있습니다. 이 예제의 경우 누군가가 새 레코드를 추가할 때마다 필드의 값이 현재 날짜로 기본 설정되도록 할 수 있습니다.
함수 중에는 인수를 필요로 하는 것도 있습니다. 인수는 함수에 입력 정보를 제공하는 값입니다. 함수에 필요한 인수가 여러 개인 경우 각 인수를 구분하는 데는 쉼표를 사용합니다. 다음 예제 식에 나와 있는 DATE 함수를 살펴보세요.
=Format(Date(),"mmmm d, yyyy")
이 예제에는 두 개의 인수가 사용됩니다.
- 첫 번째 인수는 현재 날짜를 반환하는 함수입니다
Date(). 인수가 없어도 함수 괄호를 추가해야 합니다. - 첫 번째 인수와 쉼표로 구분된 두 번째 인수
"mmmm d, yyyy"는 FORMAT 함수에 반환된 날짜 값의 서식을 지정하는 방법을 지시하는 텍스트 문자열을 지정합니다. 텍스트 문자열은 따옴표로 묶어야 합니다.
또한 이 식은 하나의 함수가 반환하는 값을 다른 함수에 중첩할 수도 있음을 보여 줍니다. 이 경우 는 Date() 인수 역할을 합니다.
상수
상수는 Access를 실행하는 동안 해당 값이 변하지 않는 항목입니다.
True, False및 Null 상수는 식에서 자주 사용됩니다.
값
숫자 1,254 또는 문자열 "1과 10 사이의 숫자를 입력합니다." 리터럴 값을 식에 사용할 수 있습니다. 필요한 경우 기호와 소수점을 비롯하여 일련의 숫자로 이루어진 숫자 값도 사용할 수 있습니다.
텍스트 문자열 값을 사용하는 경우 Access에서 문자열을 올바르게 해석할 수 있도록 해당 문자열을 따옴표로 묶어야 합니다. 경우에 따라서는 따옴표가 자동으로 추가되기도 합니다. 예를 들어 유효성 검사 규칙이나 쿼리 조건에 사용할 식의 텍스트를 입력하는 경우 사용자가 입력하는 텍스트 문자열 앞뒤에 따옴표가 자동으로 배치됩니다.
날짜/시간 값을 사용하려면 값을 파운드 기호(#)로 묶습니다. 예를 들어 , #3-7-17#, #7-Mar-17#및 #Mar-7-2017# 는 모두 유효한 날짜/시간 값입니다. Access에서 # 문자로 둘러싸인 유효한 날짜/시간 값을 발견하면 그 값이 날짜/시간 데이터 형식으로 자동 처리됩니다.
Access 식과 Excel 수식 비교
Access 식과 Excel 수식은 둘 다 유사한 구성 요소를 사용하여 결과를 제공한다는 점에서 서로 비슷한 부분이 있습니다. Excel 수식과 Access 식에는 모두 다음과 같은 구성 요소가 한 가지 이상 포함됩니다.
-
식별자 Excel에서 식별자는 A1, B3:C6 또는 Sheet2와 같은 통합 문서의 개별 셀 또는 셀 범위의 이름입니다. C32. Access에서 식별자는 테이블 필드의 이름(예:
[Contacts]![First Name]), 폼 또는 보고서에 대한 컨트롤(예:Forms![Task List]![Description]) 또는 해당 필드 또는 컨트롤의 속성(예:Forms![Task List]![Description].ColumnWidth)입니다. -
연산자 Access와 Excel 모두에서 연산자는 값을 비교하거나 데이터에 대한 간단한 계산을 수행하는 데 사용됩니다. 예를 들어 (더하기) 또는
-(빼기)가 있습니다+. - 함수 Access와 Excel 모두에서 함수와 인수는 연산자만으로는 수행할 수 없는 작업을 수행하는 데 사용됩니다. 예를 들어 필드에서 값의 평균을 찾거나 계산 결과를 통화 형식으로 변환할 수 있습니다. 함수 예: SUM 및 STDEV 인수는 함수에 정보를 제공하는 값입니다. Access와 Excel은 둘 다 선택할 수 있는 기능이 많지만, 프로그램의 유사한 기능의 이름이 다른 경우도 있습니다. 예를 들어 Excel의 평균 함수는 Access의 AVG 함수에 해당합니다.
- 상수 Access와 Excel 모두에서 상수는 식을 사용하여 계산되지 않는 숫자 같이 변하지 않는 값입니다.
- 값 Access와 Excel에서 값은 비슷한 방식으로 사용됩니다.
Access 식에 사용되는 연산자 및 상수는 Excel 수식의 경우와 비슷하지만 Access 식에 사용되는 식별자 및 함수는 Excel의 경우와 다릅니다. Excel 수식은 일반적으로 워크시트 셀에서만 사용할 수 있는 반면, Access 식은 다음과 같은 여러 가지 작업을 위해 Access 내의 다양한 위치에 사용할 수 있습니다.
- 폼과 보고서에 계산 컨트롤 만들기
- 테이블 및 쿼리에 계산 필드 만들기
- 쿼리의 조건으로 사용
- 필드에 입력하거나 폼의 컨트롤에 입력하려는 데이터의 유효성 검사
- 보고서의 데이터 그룹화
Access 식이나 Excel 수식에 수학 연산자를 사용하여 숫자 또는 날짜/시간 값을 계산할 수 있습니다. 예를 들어 고객의 할인 가격을 계산하려면 Excel 수식 =C2*(1-D2) 또는 Access 식 = [Unit Price]*(1-[Discount])를 사용할 수 있습니다.
또한 Access 식이나 Excel 수식에 문자열 연산자를 사용하여 문자열을 결합 또는 분할하거나 기타 방식으로 조작할 수 있습니다. 예를 들어 이름과 성을 하나의 문자열로 결합하려면 Excel 수식 =D3 & " " & D4 또는 Access 식을 = [First Name] & " " & [Last Name]사용할 수 있습니다.