На профессиональном уровне. Если фильтры кажутся хорошо знакомыми, для этого есть основания
Синтаксис фильтра
Если фильтры кажутся хорошо знакомыми, для этого есть основания. У них тот же синтаксис, что и у правил верификации или условий на значение, которые использовались для защиты от некорректных данных (см, разд. "Правила верификации или условия па значения" главы 4). Единственное отличие — способ интерпретации условия программой Access. Например, условие на значение <50 And >10 сообщает Access о том, что значение не должно приниматься, если оно не попадает в заданный диапазон (от 10 до 50). Если же такое условие помещается в поле отбора, оно уведомляет программу Access о том, что вас не интересует отображение записей, не попавших в заданный диапазон. Благодаря такому подобию вы можете использовать все условия на значение, представленные в разд. "Запись условия па значение поля" главы 4.
В главе 7 вы узнаете, как усилить условия фильтрации или отбора с помощью функций Access.
Получение заданного количества первых записей
Когда выполняется обычный запрос, вы видите все результаты, удовлетворяющие условиям отбора. Если их больше, чем вы ожидали, можно воспользоваться условиями фильтрации для сокращения списка.
В некоторых случаях фильтры требуют немного больше работы, чем следовало бы. Представьте себе, что вы хотите увидеть 10 самых дорогостоящих продуктов. С помощью условия отбора легко можно получить продукты с ценами, превышающими заданное пороговое значение. Используя сортировку, можно также добиться того, что наиболее дорогие
компоненты попадут в верхнюю часть таблицы. Но вы не сможете с легкостью сообщить Access о том, что нужно получить 10 записей и остановиться. В этой ситуации у режима Конструкторазапросов есть инструмент, способный помочь вам выйти из затруднительного положения. Далее описан его принцип работы.
1. Откройте запрос в Конструкторе(или создайте новый запрос и добавьте поля, которые
хотите использовать).
В данном примере используется таблица Productsи добавляются поля ProductNameи Price.
2. Отсортируйте таблицу так, чтобы наиболее интересные для вас записи оказались в верхней части таблицы.
Если вы хотите найти самые дорогостоящие продукты, вставьте сортировку по убыванию в поле Price.
3. В поле Работа с запросами | Конструктор→Настройка запроса→ Возврат(Query Tools | Design → Query Setup → Return) выберите другой вариант (рис. 6.8).
Стандартный вариант для этого поля — Все(All), получение всех соответствующих
условию записей. Но можно выбрать 5, 25 или 100для получения 5, 25 или 100 первых
записей соответственно. Можно также задать значение в процентах, например, 25% для
получения первой четверти всех отобранных записей.
Рис. 6.8. Если нужного вам количества записей нет в списке, просто введите его в поле Возвратсобственноручно. Ничего не помешает вам отобрать 27 наиболее дорогостоящих продуктов
Примечание
Для того чтобы поле Работа с запросами | Конструктор→Настройка запроса→Возвратнормально функционировало, следует выбрать подходящий порядок сортировки. Важность этого условия будет понятна, если узнать немного больше о принципе работы данного инструмента. Если задать программе Access извлечение только пяти записей, она на самом деле выполнит обычный запрос, отберет все записи, удовлетворяющие заданным условиям, и упорядочит их в соответствии с вашим порядком сортировки. Затем программа отбросит все кроме первых пяти записей в списке. Если отсортировать ваш список так, что первыми будут идти самые дорогостоящие продукты (как в данном примере), врезультате вы получите пять самых опустошительных для бюджета продуктов.
4. Выполните ваш запрос для отображения результатов (рис. 6.9).
Рис. 6.9. Пять самых дорогостоящих продуктов