문자열 함수를 사용하면 Access에서 다양한 방법으로 텍스트를 조작하는 식을 만들 수 있습니다. 예를 들어 양식에 일련 번호의 일부만 표시하려는 경우가 있습니다. 또는 성 및 이름 같은 여러 문자열을 함께 결합(연결)해야 할 수 있습니다. 아직 식에 익숙하지 않은 경우 식 작성을 참조하세요.
다음은 Access에서 가장 일반적인 문자열 작업과 이러한 작업을 수행하는 데 사용하는 함수의 목록입니다.
| 실행할 작업 | 사용... | 예를 들어... | 결과 |
|---|---|---|---|
| 문자열의 시작 부분에서 문자를 반환합니다. | Left 함수 | =Left([SerialNumber],2) | [SerialNumber]가 "CD234"이면 결과는 "CD"입니다. |
| 문자열 끝에서 문자 반환 | Right 함수 | =Right([SerialNumber],3) | [SerialNumber]가 "CD234"이면 결과는 "234"입니다. |
| 문자열에서 문자의 위치 찾기 | InStr 함수 | =InStr(1,[FirstName],"i") | [FirstName]이 "Colin"이면 결과는 4입니다. |
| 문자열 중간에서 문자 반환 | Mid 함수 | =Mid([일련 번호],2,2) | [SerialNumber]가 "CD234"이면 결과는 "D2"입니다. |
| 문자열에서 선행 또는 후행 공백 잘라내기 | LTrim, RTrim 및 Trim 함수 | =Trim([FirstName]) | [FirstName]이 " Colin "이면 결과는 "Colin"입니다. |
| 두 문자열을 함께 결합 | 더하기 기호(+) 연산자* | =[FirstName] + [LastName] | [FirstName]이 "Colin"이고 [LastName]이 Wilcox이면 결과는 "ColinWilcox"입니다 |
| 두 문자열 사이에 공백을 두고 결합합니다. | 더하기 기호(+) 연산자* | =[FirstName] + " " + [LastName] | [FirstName]이 "Colin"이고 [LastName]이 Wilcox이면 결과는 "Colin Wilcox"입니다. |
| 문자열의 대/소문자를 대문자 또는 소문자로 변경 | UCase 함수 또는 LCase 함수 | =UCase([FirstName]) | [FirstName]이 "Colin"이면 결과는 "COLIN"입니다. |
| 문자열의 길이 결정 | Len 함수 | =Len([FirstName]) | [FirstName]이 "Colin"이면 결과는 5입니다. |
* 좋아요, 함수가 아니라 연산자입니다. 그러나 문자열을 함께 연결하는 가장 빠른 방법입니다. 데스크톱 데이터베이스에서는 연결 연산에 &(앰퍼샌드 연산자)을 사용할 수도 있습니다.
Access에는 더 많은 텍스트 관련 함수가 있습니다. 이들에 대해 자세히 알아보려면 식 작성기를 열고 함수 목록을 탐색하는 것이 좋습니다. 식 작성기는 식을 작성하려는 거의 모든 곳에서 사용할 수 있습니다. 일반적으로 다음과 같은 작은 빌드 단추가 있습니다.
식 작성기를 보여 주기 위해 폼 또는 보기의 컨트롤 원본 속성에서 열 수 있습니다. 데스크톱 데이터베이스를 사용하는지 또는 Access 웹앱을 사용하는지에 따라 아래 절차 중 하나를 사용합니다.
데스크톱 데이터베이스에 식 작성기 표시
데스크톱 데이터베이스(.accdb)를 엽니다.
탐색 창이 아직 열려 있지 않은 경우 F11 키를 눌러 탐색 창을 엽니다.
사용 가능한 폼이 이미 있는 경우 탐색 창에서 마우스 오른쪽 단추로 클릭하고 레이아웃 보기를 클릭합니다. 작업할 양식이 없는 경우 양식 만들기>를 클릭합니다.
양식의 텍스트 상자를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
속성 시트에서 모든>컨트롤 소스를 클릭하고 컨트롤 소스 속성 상자의 오른쪽에 있는 빌드 버튼
클릭합니다.
식 요소에서 함수 노드를 확장하고 기본 제공 함수를 클릭합니다.
식 범주에서텍스트를 클릭합니다.
식 값에서 다양한 함수를 클릭하고 식 작성기 하단의 간단한 설명을 읽습니다.
참고
이러한 함수를 모든 컨텍스트에서 사용할 수 있는 것은 아닙니다. 각 컨텍스트에서 작동하는 항목에 따라 목록이 자동으로 필터링됩니다.
더 많은 유연성을 위해 텍스트 함수 결합
일부 문자열 함수에는 함수를 호출할 때마다 계산해야 하는 숫자 인수가 있습니다. 예를 들어 Left 함수는 =Left(SerialNumber, 2)와 같이 문자열과 숫자를 받습니다. 항상 왼쪽 두 문자가 필요하다는 것을 알고 있는 경우에는 유용하지만, 필요한 문자 수가 항목마다 다른 경우에는 어떻게 해야 할까요? 문자 수를 "하드 코딩"하는 대신 이를 계산하는 다른 함수를 입력할 수 있습니다.
다음은 문자열 어딘가에 하이픈이 있는 일련 번호의 예입니다. 그러나 하이픈의 위치는 다음과 같이 다릅니다.
| 일련 번호 |
|---|
| 3928-29993 |
| 23-9923 |
| 333-53234 |
| 3399940-444 |
하이픈 왼쪽의 숫자만 표시하려면 매번 계산을 수행하여 하이픈이 있는 위치를 찾아야 합니다. 한 가지 옵션은 다음과 같은 작업을 수행하는 것입니다.
=Left([SerialNumber],InStr(1,[SerialNumber],"-")-1)
Left 함수의 두 번째 인수로 숫자를 입력하는 대신 일련 번호에서 하이픈의 위치를 반환하는 InStr 함수를 연결했습니다. 이 값에서 1을 빼면 Left 함수가 반환할 올바른 문자 수를 얻게 됩니다. 처음에는 약간 복잡해 보이지만 약간의 실험을 통해 두 개 이상의 식을 결합하여 원하는 결과를 얻을 수 있습니다.