한 콤보 상자 또는 목록 상자에서 선택한 값이 다른 콤보 상자나 목록 상자의 선택 항목을 결정할 때 계단식 컨트롤을 사용합니다. 예를 들어 제품 범주를 선택하면 제품 목록이 해당 범주에 속하는 제품으로 제한될 수 있습니다.
기본 필드 연결 및 하위 필드 연결 속성을 사용하면 Access에서 종속 콤보 상자 또는 목록 상자를 자동으로 필터링할 수 있습니다. 종속 컨트롤을 다시 쿼리하기 위해 After Update 이벤트 프로시저 또는 매크로를 만들 필요가 없습니다.
Understand master and child fields
종속 콤보 상자 또는 목록 상자에서 연결 속성을 설정합니다.
| 속성 | 설명 |
|---|---|
| 기본 필드 연결 | 종속 컨트롤을 필터링하는 데 사용되는 값을 제공하는 폼의 필드 또는 컨트롤입니다. |
| 하위 필드 연결 | 종속 컨트롤의 행 원본에서 Access가 master 값과 비교하는 필드입니다. |
master 값이 변경되면 종속 컨트롤이 새로 고쳐지고 자식 필드 값이 일치하는 행만 표시됩니다.
링크를 만들기 전에 다음을 확인합니다.
- master 컨트롤은 하위 필드에 포함된 값을 반환합니다. 예를 들어 범주 콤보 상자는 자식 필드도
CategoryID인 경우 반환CategoryID되어야 합니다. - 하위 필드는 종속 컨트롤의 행 원본에 포함됩니다. 자식 필드는 목록에서 숨길 수 있지만 행 원본의 일부여야 합니다.
- master 및 child 필드는 호환되는 데이터 형식을 사용합니다.
목록 컨트롤을 만들고 행 원본을 설정하는 방법에 대한 자세한 내용은 목록 상자 또는 콤보 상자 추가를 참조하세요.
범주별로 제품 필터링
주문 양식에 다음과 같은 콤보 상자가 포함되어 있다고 가정해 보겠습니다.
-
cboCategory여기서 사용자가 제품 범주를 선택합니다. 해당 값은 범주의CategoryID. -
cboProduct여기서 사용자가 제품을 선택합니다.
선택한 범주를 기준으로 제품을 필터링하려면 다음을 수행합니다.
디자인 보기에서 폼을 엽니다.
을 선택한
cboProduct다음 F4 키를 눌러 속성 시트를 엽니다.데이터 탭에서 행 원본 유형을테이블/쿼리로 설정합니다.
행 원본을 컨트롤을 연결하는 데 사용되는 필드가 포함된 쿼리 또는 SQL 문으로 설정합니다. 예를 들면 다음과 같습니다.
SELECT ProductID, ProductName, CategoryID FROM Products ORDER BY ProductName;이 예에서는 열 개수를
3, 바인딩된 열1을 , 열 너비0";2";0"를 로 설정합니다. 이러한 설정을 사용하면 콤보 상자가 returnProductID, displayProductName, 숨기기CategoryID합니다.다음에서 연결 속성을 설정합니다.
cboProduct속성 값 기본 필드 연결 cboCategory하위 필드 연결 CategoryID폼을 저장한 다음 폼 보기로 전환합니다.
범주
cboProduct를 선택하고 엽니다. 제품 목록에는 의 값과 일치하는 제품CategoryID만 표시됩니다.cboCategory
필드는 행 원본에 남아 있으므로 숨겨진 CategoryID 필드를 사용하여 행을 필터링할 수 있습니다.
CSS 목록 상자 사용
기본 필드 연결 및 하위 필드 연결 속성은 목록 상자에서 동일한 방식으로 작동합니다. 종속 목록 상자의 속성을 설정하고 해당 행 원본에 하위 필드가 포함되는지 확인합니다.
다음과 같은 시나리오에 연결된 콤보 상자와 목록 상자를 사용할 수 있습니다.
- 부서, 팀 및 직원
- 고객 및 주문
- 프로젝트 및 작업
- 제품 범주 및 제품
여러 필드 연결
레코드가 둘 이상의 필드로 관련되어 있는 경우 두 연결 속성에 쉼표로 구분된 이름을 입력합니다. Access는 각 목록의 위치에 따라 필드를 일치시킵니다.
예를 들면 다음과 같습니다.
| 속성 | 값 |
|---|---|
| 기본 필드 연결 | CompanyID, LocationID |
| 하위 필드 연결 | CompanyID, LocationID |
두 목록 모두 동일한 수의 항목이 포함되어야 합니다. 각 master 필드에는 해당 위치에 있는 하위 필드와 호환되는 데이터 형식이 있어야 합니다.
연속 폼에서 계단식 컨트롤 사용
연결된 콤보 상자와 목록 상자는 연속 폼에서도 작동합니다. Access는 표시되는 각 레코드의 master 값을 사용하여 종속 컨트롤을 필터링합니다. 각 행을 독립적으로 다시 쿼리하는 이벤트 코드는 필요하지 않습니다.
계단식 컨트롤 문제 해결
| 문제 | 검사할 내용 |
|---|---|
| 연결 속성은 데이터 탭에 표시되지 않습니다. | Access가 버전 2609(빌드 20430.20092) 이상으로 업데이트되었는지 확인합니다. |
| 종속 컨트롤이 비어 있습니다. | master 컨트롤에 값이 있고, 일치하는 레코드가 있는지, 하위 필드가 행 원본에 포함되어 있는지, master 및 하위 값이 호환되는 데이터 형식을 사용하는지 확인합니다. |
| 종속 컨트롤에 예기치 않은 선택이 표시됩니다. | 연결 속성이 종속 컨트롤에 설정되어 있고 master 컨트롤이 하위 필드에 저장된 키 값을 반환하는지 확인합니다. |
| 다중 필드 링크는 작동하지 않습니다. | 두 속성 모두 호환되는 데이터 형식과 일치하는 순서대로 동일한 수의 필드가 포함되어 있는지 확인합니다. |
VBA 또는 매크로를 사용하는 기존 계단식 컨트롤은 계속 작동합니다. 폼에서 사용할 수 있는 값에서만 컨트롤을 필터링해야 하는 경우 연결 속성을 선언적 대안으로 사용합니다.
액세스 업데이트
최신 현재 채널 빌드를 검사하려면 파일>계정>업데이트 옵션>지금 업데이트를 선택합니다. 최신 빌드를 설치한 후에도 출시가 확장됨에 따라 기능이 표시되는 데 시간이 더 걸릴 수 있습니다.