Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по Access 2003_сложный.doc
Скачиваний:
122
Добавлен:
18.02.2016
Размер:
4 Мб
Скачать
☆

2.4 Создание запросов, отбирающих повторяющиеся записи.

Вариант «Повторяющиеся записи» на рисунке 12 чаще всего служит основой для запросов-действий, так как он без лишней волокиты позволяет выбрать из общего массива лишь те данные, одно или несколько полей которых повторяются. Например, поискать в таблице «Клиенты» не встречается ли одна и та же фирма несколько раз. При этом сначала нужно определить, какие записи считать дубликатами. В данном случае можно счесть записи с одинаковыми названиями и адресами.

2.5 Отбор записей главной таблицы не имеющих подчиненных записей

Вариант «Записи без подчиненных» на рисунке 12 в подавляющем большинстве случаев применяется в таблицах со множеством связей. Этот мастер позволяет найти все записи в главной таблице, которые не имеют связанных записей в подчиненной. Предположим, что на каждого покупателя некоторый магазин заводит реестр покупок. Покупки могут быть разные. Они также могут по-разному оплачиваться (наличные, кредитная карточка или что-нибудь другое) и доставляться (самостоятельно или «с доставкой на дом»). Чтобы каждый раз не задавать старому клиенту массу излишних вопросов, удобно завести отдельную таблицу со всеми необходимыми данными, а в реестре покупок указывать только порядковый номер конкретного клиента в списке. Однако может так получиться, что какой-либо человек перестал пользоваться услугами данного магазина. Вскоре в системе учета возникнет своего рода дыра. Запись о клиенте есть, а упоминаний о его покупках нет. Следовательно, имеет смысл периодически просматривать систему и удалять из нее лишние записи ради экономии машинных ресурсов. Правда, вручную подобная задача далеко не всегда может быть решена успешно, так как человеку свойственно ошибаться. Поэтому куда удобнее, да и надежнее, воспользоваться специально сконструированным запросом, который просмотрит всю базу данных, сличит все записи о покупках с перечнем зарегистрированных покупателей и безошибочно выявит перечень тех, кто не объявлялся сверх положенного срока, а значит, записи о которых можно совершенно безболезненно из реестра удалить.

3. Сортировка записей таблицы

Втаблице данные всегда отсортированы по первичному ключу. Чтобы организовать другой способ сортировки данных, используется простой запрос, содержащий в себе все поля таблицы. В нижней части окна конструктора запросов в бланке запросов QBE установите курсор в поле, по которому желательно провести сортировку (рисунок 2.4). Для этого поля из списка«Сортировка» выберите способ сортировки. Запустите запрос на исполнение, и MS Access отобразит на экране результат запроса, отображаемый в режиме таблицы, данные в котором отсортированы требуемым образом. Например, результат запроса сортировки поставщиков по наименованию фирмы будет выглядеть так, как показано на рисунке 2.5.

Рисунок 2.5 – Результат сортировки по наименованию фирмы

  1. Запросы с критериями поиска

Для выборки данных из таблиц по определенному условию в MS Access используются запросы с критериями поиска. Предварительно задав условие отбора, результатом выполнения запроса будет набор данных удовлетворяющих сформированному критерию. Откройте предварительно созданный простой запрос, содержащий все необходимые поля. В строке «Условие отбора» можно ввести теперь критерии выбора. Для обозначения произвольного количества символов используйте в качестве символа-заменителя звездочку «*», а для обозначения одного произвольного символа знак вопроса «?». Сформулируйте критерии запроса. Например, если для текстового поля будет задан только критерий "А*", то в результате выполнения запроса будут отображены только те записи, текстовое поле которых начинается с буквы «А» (или «а»).

Если требуется отыскать комбинацию нескольких значений, необходимо ввести их в строку «Условие отбора» на бланке запроса QBE, употребляя в качестве разделителя логические операторы AND и OR. Кроме обычных операторов сравнения, MS Access предоставляет три специальных оператора, полезных для отбора данных: BETWEEN, IN, LIKE. Например, если необходимо вывести фамилии продавцов, чей оклад находится в диапазоне от 5000 до 10000, то в строке «Условие отбора» введите критерий: >5000 And <10000

  1. Запросы с параметрами

Не всегда можно решить на этапе создания запроса, какие именно значения должен отыскивать MS Access, а иногда требуется гибкое условие отбора, которое может изменяться в зависимости от текущей ситуации. Поэтому вместо условия отбора, непосредственно вводимого в бланк QBE, можно включить в запрос параметр, и в этом случае перед выполнением запроса MS Access каждый раз будет запрашивать конкретные условия отбора.

Чтобы установить параметр необходимо ввести в строку «Условие отбора» имя или фразу, заключенную в квадратные скобки ([ ]). То, что заключено внутри квадратных скобок, MS Access рассматривает как имя параметра. Это имя выводится в диалоговом окне при выполнении запроса, поэтому разумно в качестве имени параметра использовать содержательную фразу. В одном запросе можно задать несколько параметров; при этом имя каждого параметра должно быть уникальным и информативным.

При работе с параметрами можно также использовать логические операторы AND и OR. Тот же самый запрос выборки продавцов с окладом, диапазон границ которого переменный, будет выглядеть так, как показано на рис 2.6.