Свойство 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 возвращает следующие четыре записи:
Продажи |
Продавец |
90 000 |
Ожогина |
80 000 |
Попкова |
70 000 |
Егоров |
70 000 |
Глазков |
Примечание: Для возвращения самых верхних или самых нижних значений без отображения повторяющихся значений задайте в окне свойств запроса для свойства UniqueValues (Уникальные значения) значение "Да".
Пример
В следующем примере для свойства RecordSource (Источник записей) для формы, которая будет отображать десять самых дорогих товаров, назначается строка SQL, возвращающая 10 самых дорогих товаров.
Dim strGetSQL As String
strGetSQL = "SELECT TOP 10 Products.[ProductName] " _
& "AS TenMostExpensiveProducts, " _
& "Products.UnitPrice " _
& "FROM Products " _
& "ORDER BY Products.[UnitPrice] DESC;"
Me.RecordSource = strGetSQL