TopValues 속성을 사용하여 지정한 기준에 맞는 레코드를 지정된 수만큼 또는 일정 백분율만큼 반환할 수 있습니다. 예를 들어, 필드에 있는 모든 값의 상위 10개 값 또는 상위 25%를 반환할 수 있습니다.
참고: TopValues 속성은 쿼리를 추가 및 선택하고 쿼리로 테이블을 만드는 데만 적용됩니다.
설정
TopValues 속성 설정은 반환할 정확한 값 개수를 나타내는 정수 값이거나 반환 레코드의 백분율을 나타내는 퍼센트 기호(%)가 뒤에 오는 숫자입니다. 예를 들어 상위 10개 값을 반환하려면 TopValues 속성을 10으로 설정하고, 값의 상위 10%를 반환하려면 TopValues 속성을 10%로 설정합니다.
코드에서 직접 이 속성을 설정할 수는 없습니다. 이 속성은 SQL 문에서 TOP n 또는 TOP n PERCENT 절을 사용하여 쿼리 창의 SQL 보기에서 설정됩니다.
쿼리의 속성 시트 또는 디자인 탭의 도구 아래에서 최상위 값 상자를 사용하여 TopValues 속성을 설정할 수도 있습니다.
참고: 쿼리의 속성 시트 및 디자인 탭의 TopValues 속성은 값 및 백분율 값 목록을 포함하는 콤보 상자입니다. 이 값 중 하나를 선택하거나 상자에 유효한 설정을 입력할 수 있습니다.
주의
일반적으로 TopValues 속성 설정을 정렬된 필드와 함께 사용합니다. 상위 값을 표시하려는 필드는 쿼리 디자인 그리드에서 정렬 상자가 선택된 맨 왼쪽 필드여야 합니다. 오름차순 정렬은 맨 아래쪽 레코드를 반환하고, 내림차순 정렬은 맨 위쪽 레코드를 반환합니다. 특정 레코드 수를 반환하도록 지정하면 마지막 레코드의 값과 일치하는 값이 있는 모든 레코드도 반환됩니다.
예를 들어, 직원 집합의 판매 합계가 다음과 같다고 가정합니다.
판매액 |
판매원 |
90,000 |
황 |
80,000 |
홍 |
70,000 |
김소미 |
70,000 |
엄 |
60,000 |
김찬진 |
50,000 |
강현아 |
판매 필드를 내림차순으로 정렬하여 TopValues 속성을 3으로 설정하면 Microsoft Office Access 2007에서 다음 4개의 레코드를 반환합니다.
판매액 |
판매원 |
90,000 |
황 |
80,000 |
홍 |
70,000 |
김소미 |
70,000 |
엄 |
참고: 중복 값을 표시하지 않고 맨 위쪽 또는 맨 아래쪽 값을 반환하려면 쿼리의 속성 시트에서 UniqueValues 속성을 Yes로 설정합니다.
예
다음 예에서는 가장 비싼 10개의 제품을 표시하는 폼에서 상위 10개의 가장 비싼 제품을 반환하는 SQL 문자열을 RecordSource 속성에 지정합니다.
Dim strGetSQL As String
strGetSQL = "SELECT TOP 10 Products.[ProductName] " _
& "AS TenMostExpensiveProducts, " _
& "Products.UnitPrice " _
& "FROM Products " _
& "ORDER BY Products.[UnitPrice] DESC;"
Me.RecordSource = strGetSQL