На профессиональном уровне. Если фильтры кажутся хорошо знакомыми, для этого есть основания

Синтаксис фильтра

Если фильтры кажутся хорошо знакомыми, для этого есть основания. У них тот же син­таксис, что и у правил верификации или условий на значение, которые использовались для защиты от некорректных данных (см, разд. "Правила верификации или условия па значения" главы 4). Единственное отличие — способ интерпретации условия програм­мой Access. Например, условие на значение <50 And >10 сообщает Access о том, что значение не должно приниматься, если оно не попадает в заданный диапазон (от 10 до 50). Если же такое условие помещается в поле отбора, оно уведомляет программу Access о том, что вас не интересует отображение записей, не попавших в заданный диапазон. Благодаря такому подобию вы можете использовать все условия на значение, представ­ленные в разд. "Запись условия па значение поля" главы 4.

В главе 7 вы узнаете, как усилить условия фильтрации или отбора с помощью функций Access.

Получение заданного количества первых записей

Когда выполняется обычный запрос, вы видите все результаты, удовлетворяющие условиям отбора. Если их больше, чем вы ожидали, можно воспользоваться условиями фильтрации для сокращения списка.

В некоторых случаях фильтры требуют немного больше работы, чем следовало бы. Представьте себе, что вы хотите увидеть 10 самых дорогостоящих продуктов. С помощью условия отбора легко можно получить продукты с ценами, превышающими заданное поро­говое значение. Используя сортировку, можно также добиться того, что наиболее дорогие

компоненты попадут в верхнюю часть таблицы. Но вы не сможете с легкостью сообщить Access о том, что нужно получить 10 записей и остановиться. В этой ситуации у режима Конструкторазапросов есть инструмент, способный помочь вам выйти из затруднительно­го положения. Далее описан его принцип работы.

1. Откройте запрос в Конструкторе(или создайте новый запрос и добавьте поля, которые
хотите использовать).

В данном примере используется таблица Productsи добавляются поля ProductNameи Price.

2. Отсортируйте таблицу так, чтобы наиболее интересные для вас записи оказались в верхней части таблицы.

Если вы хотите найти самые дорогостоящие продукты, вставьте сортировку по убыва­нию в поле Price.

 
  На профессиональном уровне. Если фильтры кажутся хорошо знакомыми, для этого есть основания - student2.ru

3. В поле Работа с запросами | Конструктор→Настройка запроса→ Возврат(Query Tools | Design → Query Setup → Return) выберите другой вариант (рис. 6.8).
Стандартный вариант для этого поля — Все(All), получение всех соответствующих
условию записей. Но можно выбрать 5, 25 или 100для получения 5, 25 или 100 первых
записей соответственно. Можно также задать значение в процентах, например, 25% для
получения первой четверти всех отобранных записей.

Рис. 6.8. Если нужного вам количества записей нет в списке, просто введите его в поле Возвратсобственноручно. Ничего не помешает вам отобрать 27 наиболее дорогостоящих продуктов

Примечание

Для того чтобы поле Работа с запросами | Конструктор→Настройка запроса→Возвратнормально функционировало, следует выбрать подходящий порядок сортировки. Важность этого условия будет понятна, если узнать немного больше о принципе работы данного инстру­мента. Если задать программе Access извлечение только пяти записей, она на самом деле вы­полнит обычный запрос, отберет все записи, удовлетворяющие заданным условиям, и упоря­дочит их в соответствии с вашим порядком сортировки. Затем программа отбросит все кроме первых пяти записей в списке. Если отсортировать ваш список так, что первыми будут идти самые дорогостоящие продукты (как в данном примере), врезультате вы получите пять самых опустошительных для бюджета продуктов.

 
  На профессиональном уровне. Если фильтры кажутся хорошо знакомыми, для этого есть основания - student2.ru

4. Выполните ваш запрос для отображения результатов (рис. 6.9).

Рис. 6.9. Пять самых дорогостоящих продуктов

Наши рекомендации