В окне базы данных в разделе «Объекты» вертикальным рядом кнопок представлены все объекты, которые могут быть созданы в базе данных: таблицы, запросы, отчёты, макросы и модули.
Запросы – это такие объекты, которые выбирают информацию из имеющихся данных и предъявляют её пользователю в неизменном или обработанном виде, а также вносят изменения в имеющиеся данные.
Отчёты – представляют информацию в виде, предназначенном для печати.
Макросы – программа, состоящая из последовательности макрокоманд.
Модуль – структура, сохраняющей некоторый набор описаний и процедур, написанных на языке программирования Visual Basic.
Создание простейших запросов. Упорядочение и отображение данных в результирующей таблице
Как уже отмечалось выше, среди объектов базы данных имеются объекты, называемые запросами.
Запрос – это вопрос, на который база данных должна предоставить имеющуюся информацию в неизменном или обработанном виде. В общем случае, результат выполнения запроса представляется в виде таблицы. Таким образом, создание запроса сводится к созданию макета таблицы, в котором указывается, откуда брать данные и что с этими данными делать. Источником данных для запроса могут служить таблицы и уже имеющиеся запросы.
Запрос лучше создавать в режиме конструктора, так как в этом случае разработчик получает полный контроль над процессом создания. Для выполнения необходимых действий при создании запроса используются команды меню или панель инструментов «Конструктор запросов». Эта панель открывается, когда создаётся новый запрос в режиме конструктора или открывается для редактирования существующий запрос.
Для создания запроса в режиме конструктора необходимо проделать следующее.
После щелчка по объекту «Запросы», а затем по кнопке «Создать» надо выделить строчку «Конструктор» и щёлкнуть по кнопке «ОК». В появившемся окне выделить те таблицы или запросы, которые будут служить источником данных для создаваемого запроса, затем щелкнуть по кнопке «Добавить» и «Закрыть».
Появится окошко, в верхней части которого будут изображены выбранные источники данных, а в нижней – бланк запроса с незаполненными полями.
Если при создании запроса будут использоваться групповые операции, то необходимо в бланк запроса добавить поле «Групповая операция» с помощью кнопки «Групповые операции».
При заполнении бланка запроса:
в строку «Поле» включаются имена используемых в запросе полей;
в строку «Имя таблицы» включаются имена таблиц, содержащих данные поля;
в строке «Групповая операция» выбирается из списка соответствующая групповая операция;
в строке «Сортировка» выбирается порядок сортировки записей результата;
в строке «Вывод на экран» устанавливаются флажки для полей, которые должны быть включены в результирующую таблицу;
в строке «Условие отбора» задаются условия отбора записей;
в строке «Или» задаются дополнительные условия отбора записей.
Рассмотрим пример создания запроса, которой покажет, кто из клиентов что покупал и каков общий вес каждого купленного продукта. Результат выполнения запроса должен быть представлен в виде такой таблицы:
Наименование клиента |
Название продукта |
Общий вес (кг) |
Для этого в качестве источника данных надо выбрать все три таблицы, а макет запроса оформить следующим образом:
Поле: |
наименование |
название |
количество |
Имя таблицы: |
клиенты |
продукты |
заказы |
Групповая операция: |
группировка |
группировка |
sum |
Сортировка: |
|||
Вывод на экран: |
|||
Условие отбора: |
|||
Или: |
В качестве групповой операции в поле «Количество» должна быть выбрана операция суммирования, так как это числовое поле и нас интересует именно общее количество продукта.
Если выполнить этот запрос, то в последнем поле вместо ожидаемого имени «Количество» будет присутствовать имя «Sum_количество» и в данных будет отображаться очень много разрядов после десятичной запятой. Чтобы ограничить количество знаков после десятичной запятой необходимо сделать следующее. В режиме конструктора необходимо в свойствах поля «Количество» установить «Формат поля» – фиксированный, а «Количество знаков после запятой» – 2.
Если необходимо, чтобы результат выполнения запроса был представлен отсортированным, то в строке «Сортировка» надо выбрать из списка одно из двух значений: либо «по возрастанию», либо «по убыванию». Ниже представлен вариант запроса, в котором наименования клиентов будут расположены в алфавитном порядке.
Поле: |
наименование |
название |
количество |
Имя таблицы: |
клиенты |
продукты |
заказы |
Групповая операция: |
группировка |
группировка |
sum |
Сортировка: |
по возрастанию |
||
Вывод на экран: |
|||
Условие отбора: |
|||
Или: |
Контрольные вопросы
1. Какие объекты содержит база данных Access?
2. Что такое запрос?
3. Что может служить источником данных для запроса?
4. Каким образом можно создать запрос на выборку?
5. Как создаётся запрос на выборку в режиме конструктора?
6. Какие групповые операции можно использовать в запросе?
7. Какую роль в запросе играет групповая операция?
8. Какую роль в запросе играют условия отбора?