Access에서 계단식 콤보 상자 및 목록 상자 만들기

적용 대상
Microsoft 365용 Access Access 2024 Access 2021 Access 2019 Access 2016

한 콤보 상자 또는 목록 상자에서 선택한 값이 다른 콤보 상자나 목록 상자의 선택 항목을 결정할 때 계단식 컨트롤을 사용합니다. 예를 들어 제품 범주를 선택하면 제품 목록이 해당 범주에 속하는 제품으로 제한될 수 있습니다.

기본 필드 연결 및 하위 필드 연결 속성을 사용하면 Access에서 종속 콤보 상자 또는 목록 상자를 자동으로 필터링할 수 있습니다. 종속 컨트롤을 다시 쿼리하기 위해 After Update 이벤트 프로시저 또는 매크로를 만들 필요가 없습니다.

Understand master and child fields

종속 콤보 상자 또는 목록 상자에서 연결 속성을 설정합니다.

속성 설명
기본 필드 연결 종속 컨트롤을 필터링하는 데 사용되는 값을 제공하는 폼의 필드 또는 컨트롤입니다.
하위 필드 연결 종속 컨트롤의 행 원본에서 Access가 master 값과 비교하는 필드입니다.

master 값이 변경되면 종속 컨트롤이 새로 고쳐지고 자식 필드 값이 일치하는 행만 표시됩니다.

링크를 만들기 전에 다음을 확인합니다.

  • master 컨트롤은 하위 필드에 포함된 값을 반환합니다. 예를 들어 범주 콤보 상자는 자식 필드도 CategoryID인 경우 반환 CategoryID 되어야 합니다.
  • 하위 필드는 종속 컨트롤의 행 원본에 포함됩니다. 자식 필드는 목록에서 숨길 수 있지만 행 원본의 일부여야 합니다.
  • master 및 child 필드는 호환되는 데이터 형식을 사용합니다.

목록 컨트롤을 만들고 행 원본을 설정하는 방법에 대한 자세한 내용은 목록 상자 또는 콤보 상자 추가를 참조하세요.

범주별로 제품 필터링

주문 양식에 다음과 같은 콤보 상자가 포함되어 있다고 가정해 보겠습니다.

  • cboCategory여기서 사용자가 제품 범주를 선택합니다. 해당 값은 범주의 CategoryID.
  • cboProduct여기서 사용자가 제품을 선택합니다.

선택한 범주를 기준으로 제품을 필터링하려면 다음을 수행합니다.

  1. 디자인 보기에서 폼을 엽니다.

  2. 을 선택한 cboProduct다음 F4 키를 눌러 속성 시트를 엽니다.

  3. 데이터 탭에서 행 원본 유형을테이블/쿼리로 설정합니다.

  4. 행 원본을 컨트롤을 연결하는 데 사용되는 필드가 포함된 쿼리 또는 SQL 문으로 설정합니다. 예를 들면 다음과 같습니다.

    SELECT ProductID, ProductName, CategoryID
    FROM Products
    ORDER BY ProductName;
    
  5. 이 예에서는 열 개수를3, 바인딩된 열1을 , 열 너비0";2";0"를 로 설정합니다. 이러한 설정을 사용하면 콤보 상자가 return ProductID, display ProductName, 숨기기 CategoryID합니다.

  6. 다음에서 연결 속성을 설정합니다.cboProduct

    속성 값
    기본 필드 연결 cboCategory
    하위 필드 연결 CategoryID
  7. 폼을 저장한 다음 폼 보기로 전환합니다.

  8. 범주 cboProduct를 선택하고 엽니다. 제품 목록에는 의 값과 일치하는 제품 CategoryID 만 표시됩니다.cboCategory

필드는 행 원본에 남아 있으므로 숨겨진 CategoryID 필드를 사용하여 행을 필터링할 수 있습니다.

CSS 목록 상자 사용

기본 필드 연결 및 하위 필드 연결 속성은 목록 상자에서 동일한 방식으로 작동합니다. 종속 목록 상자의 속성을 설정하고 해당 행 원본에 하위 필드가 포함되는지 확인합니다.

다음과 같은 시나리오에 연결된 콤보 상자와 목록 상자를 사용할 수 있습니다.

  • 부서, 팀 및 직원
  • 고객 및 주문
  • 프로젝트 및 작업
  • 제품 범주 및 제품

레코드가 둘 이상의 필드로 관련되어 있는 경우 두 연결 속성에 쉼표로 구분된 이름을 입력합니다. Access는 각 목록의 위치에 따라 필드를 일치시킵니다.

예를 들면 다음과 같습니다.

속성 값
기본 필드 연결 CompanyID, LocationID
하위 필드 연결 CompanyID, LocationID

두 목록 모두 동일한 수의 항목이 포함되어야 합니다. 각 master 필드에는 해당 위치에 있는 하위 필드와 호환되는 데이터 형식이 있어야 합니다.

연속 폼에서 계단식 컨트롤 사용

연결된 콤보 상자와 목록 상자는 연속 폼에서도 작동합니다. Access는 표시되는 각 레코드의 master 값을 사용하여 종속 컨트롤을 필터링합니다. 각 행을 독립적으로 다시 쿼리하는 이벤트 코드는 필요하지 않습니다.

계단식 컨트롤 문제 해결

문제 검사할 내용
연결 속성은 데이터 탭에 표시되지 않습니다. Access가 버전 2609(빌드 20430.20092) 이상으로 업데이트되었는지 확인합니다.
종속 컨트롤이 비어 있습니다. master 컨트롤에 값이 있고, 일치하는 레코드가 있는지, 하위 필드가 행 원본에 포함되어 있는지, master 및 하위 값이 호환되는 데이터 형식을 사용하는지 확인합니다.
종속 컨트롤에 예기치 않은 선택이 표시됩니다. 연결 속성이 종속 컨트롤에 설정되어 있고 master 컨트롤이 하위 필드에 저장된 키 값을 반환하는지 확인합니다.
다중 필드 링크는 작동하지 않습니다. 두 속성 모두 호환되는 데이터 형식과 일치하는 순서대로 동일한 수의 필드가 포함되어 있는지 확인합니다.

VBA 또는 매크로를 사용하는 기존 계단식 컨트롤은 계속 작동합니다. 폼에서 사용할 수 있는 값에서만 컨트롤을 필터링해야 하는 경우 연결 속성을 선언적 대안으로 사용합니다.

액세스 업데이트

최신 현재 채널 빌드를 검사하려면 파일>계정>업데이트 옵션>지금 업데이트를 선택합니다. 최신 빌드를 설치한 후에도 출시가 확장됨에 따라 기능이 표시되는 데 시간이 더 걸릴 수 있습니다.