Access 의 두 개 이상의 텍스트 필드에 값을 결합하려는 경우 앰퍼샌드(&) 연산자를 사용하는 식을 만듭니다. 예를 들어 직원이라는 양식이 있다고 가정해 봅시다. 직원의 성과 이름을 별도의 필드에 입력하지만 양식 머리글에 직원의 전체 이름을 한 번에 표시하려 합니다.
다음 식을 사용하여 전체 이름을 표시할 수 있습니다.
=[FirstName] & " " & [LastName]
이 식은 & 연산자를 사용하여 FirstName과 LastName 필드의 값을 결합합니다. 또한 식에서 공백 문자로 분리된 한 쌍의 따옴표(")를 사용하여 성과 이름 사이에 공백을 삽입합니다. 두 필드 사이에 공백, 문장 부호 또는 텍스트 등을 삽입하려면 해당 추가 값을 따옴표로 묶어야 합니다.
또 다른 예로 다음 식을 사용하여 쉼표와 공백으로 분리된 성과 이름을 표시할 수 있습니다.
=[LastName] & ", " & [FirstName]
이 경우 이 식에서는 LastName과 FirstName 필드 사이에 쉼표와 공백을 따옴표로 묶어 삽입합니다.
다음 절차의 단계에서는 FirstName과 LastName 필드를 포함한 테이블에 따른 양식을 보유한 것으로 가정합니다. 해당 양식을 보유하지 않은 경우 6단계에서 개인 데이터에 맞게 식을 변경할 수 있습니다.
전체 이름을 위한 식을 사용하여 텍스트 상자 추가
-
탐색 창에서 변경할 폼이나 보고서를 마우스 오른쪽 단추로 클릭한 후 바로 가기 메뉴에서 디자인 보기를 클릭합니다.
-
양식 디자인 또는 보고서 디자인 탭의 컨트롤 그룹에서 텍스트 상자를 클릭합니다.
-
양식 또는 보고서로 포인터를 끌어 텍스트 상자를 만듭니다.
-
텍스트 상자를 마우스 오른쪽 단추로 클릭한 다음 바로 가기 메뉴에서 속성을 클릭합니다.
-
속성 시트에서 데이터 탭을 클릭합니다.
-
컨트롤 원본 속성 상자의 값을 =[FirstName] & " " & [LastName]으로 변경합니다.
-
속성 시트를 닫고 변경 내용을 저장합니다.
경우에 따라 결합하려는 필드 중 하나에 값이 포함되지 않을 수 있습니다. 데이터가 없는 경우를 null 값이라고 합니다. 값이 없는 필드에서 & 연산자를 사용하는 경우 Access에서는 해당 필드에 대한 빈 문자열을 반환합니다. 예를 들어 직원 레코드에 성만 있는 경우 위 예제의 식이 FirstName 필드에 대한 빈 문자열, 공백 문자 및 LastName 필드 값을 반환합니다.
1. FirstName 필드에 데이터가 없기 때문에 빈 문자열과 공백이 “유” 앞에 오게 됩니다.
여러 필드의 값을 새 문자열에 결합할 때 특정 필드에 데이터가 존재하는 경우에만 값(예: 쉼표)을 새 문자열에 포함하는 것이 좋습니다. 조건을 지정하여 값을 포함하려면 & 대신 + 연산자를 사용하여 필드를 결합합니다. 예를 들어 고객이라는 테이블이 있으며 해당 테이블에는 시/도, 구/군/시 및 우편 번호가 포함된다고 가정해 봅시다. 보고서에 사용하기 위해 해당 필드의 값을 결합하려고 하지만 일부 레코드에는 구/군/시 필드 값이 없을 수 있습니다. 이 경우 & 연산자를 사용하여 필드를 결합하면 우편 번호 앞에 원치 않는 쉼표가 생성됩니다.
원치 않는 쉼표를 제거하려면 다음 예제 식에 표시된 것처럼 더하기(+) 연산자를 대신 사용할 수 있습니다.
=([City] & (", " + [State]) & " " & [PostalCode])
+ 연산자는 & 연산자를 사용할 때와 같은 방법으로 텍스트를 결합합니다. 그러나 + 연산자는 Null 전파도 지원합니다. Null 전파를 사용하면 식에 null인 구성 요소가 하나라도 있을 경우 전체 식의 결과도 null이 됩니다. 위 예제 식의 일부((", " + [State]))를 고려해 보세요. 이 부분에서는 + 연산자를 사용하기 때문에 구/군/시 필드에 값이 존재할 경우에만 내부 괄호 안에서 계산되는 식에 쉼표가 포함됩니다. 구/군/시 필드 값이 없을 경우 Null 전파의 효력이 발생하며 내부 괄호 안의 식이 null 값으로 계산되어 쉼표가 “숨겨”집니다.
1. 구/군/시 값을 포함하는 레코드는 쉼표, 공백 및 구/군/시 약어와 함께 표시됩니다.
2. 시/도 필드의 값이 인천광역시인 레코드에 대해 지정된 구/군/시 값이 없으므로 식의 결과는 쉼표, 공백 또는 구/군/시의 약어 없이 표시됩니다.