Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye_raboty_042.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

3. Задание условия отбора и порядка сортировки результатов запроса

Пусть нужно создать список рассылки только для клиентов из США, т. е. в запросе нужно отобрать записи, у которых в поле "Страна" содержится значение "США". Выбор полей по значению, т.е. задание условия отбора записей (или критерия), является основной задачей создания запроса.

Чтобы задать условие отбора (критерий):

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

  2. Чтобы запрос возвращал только записи о фирмах из США, введите США в строке "Условие отбора" в колонке "Страна". Ввод критерия без оператора означает, что содержимое поля должно совпадать с вве­денным выражением. Заключать выражение в кавычки не нужно, т.к. это будет сделано автоматически (рис. 8).

  3. Сбросьте флажок в строке "Вывод на экран" для поля "Страна", чтобы оно не отображалось при запуске запроса. (Это нужно сделать в том случае, если страна, из которой посылается письмо, совпадает со стра­ной места назначения.) Если флажок "Вывод на экран" не сбросить, то поле будет отображаться по умолчанию в режиме таблицы.

  4. Поместите точку вставки в столбец "Индекс" в строку "Сортировка" и нажмите клавишу <F4>, чтобы отобразить список способов сортиров­ки для этого поля: "по возрастанию" (Ascending), "по убыванию" (Descending) и "нет" (not sorted). Для упорядочивания записей по воз­растанию значений поля "Индекс" выберите способ сортировки "по возрастанию"

(рис. 8).

Рис. 8. Сортировка поля "Индекс" по возрастанию

  1. Нажмите кнопку "Представление запроса" или кнопку "Запуск" на па­нели инструментов, чтобы отобразить результат выборки и сортировки данных таблицы "Клиенты". Для отображения полей, не поместив­шихся на экране, используйте горизонтальную полосу прокрутки.

На рис. 9 показана таблица результатов запроса или результирующий на­бор записей (query result set), который Access интерпретирует как динамиче­ский набор записей, допускающий обновление, он называется Recordset (точнее, объект Recordset типа Dynaset). Объект Recordset представ­ляет собой временную таблицу, хранящуюся в оперативной памяти, а не в файле базы данных. Он отличается от обычного объекта, создаваемого при помощи зарезервированного слова SQL view тем, что данные объекта Recordset типа Dynaset можно изменять. После сохранения запроса в файле базы данных хранится только структура запроса, а не данные, кото­рые отображаются при его выполнении. Описание структуры запроса со­держится в объекте QueryDef.

4. Создание более сложных запросов

Чтобы создать список рассылки только для некоторых регионов, можно задать условия отбора для полей "Область" и "Индекс". Например, записи о фирмах из Калифорнии, Орегона и Вашингтона содержат значения, пре­вышающие 90000, в поле "Индекс", а в поле "Область" — значения "СА", "OR" и "WA" соответственно.

Рис. 9. Результаты запроса в порядке возрастания значений поля "Индекс"

Чтобы создать список рассылки только для клиентов из перечисленных штатов:

  1. Нажмите кнопку "Представление запроса" на панели инструментов, чтобы вернуться в режим конструктора запроса.

  2. Поместите точку вставки в колонку "Область" при помощи клавиши <ТаЬ>, клавиши <> или полосы прокрутки.

  3. Введите СА в первую строку условия отбора; при перемещении точки вставки в другую ячейку Access заключит введенное выражение в кавычки.

  4. Нажмите клавишу <>, чтобы переместить точку вставки в следующую строку условия отбора и введите OR, затем в следующей строке введите WA (рис. 10).

  5. Нажмите кнопку "Представление запроса" или кнопку "Запуск" на панели инструментов; результаты запроса показаны на рис. 11.

Рис. 11. Записи о клиентах из штатов, заданных в условии отбора для поля "Область"