Создание запроса на основе другого запроса
При создании запроса в режиме конструктора в диалоговом окне Добавлениетаблицы вы можете выбирать в качестве источников данных для выполнения запросов не только таблицы, но и ранее созданные запросы.
Создание вычисляемых полей
Для выполнения вычислений с любыми полями таблицы можно создать выражение и определить его в качестве нового поля запроса. Выражение может содержать арифметические операции (+, -, *, /, ^), встроенные функции, (например, связанные с обработкой дат и времени).
Итак, посмотрим, как в конструкторе построить запрос с вычисляемыми полями. Войдите в конструктор запросов, добавьте таблицу Покупки. В бланке запроса выведите все поля. Справа от поля Стоимость покупки мы будем создавать вычисляемое поле, значениями этого поля будет стоимость покупок с 10-ти процентной скидкой, поэтому в следующей колонке в строке заголовка введите с клавиатуры:
[Стоимость покупки]*0,9
Вы видите, что в результате выполнения запроса мы получили таблицу, в которой добавлено ещё одно поле, значения этого поля на 10% меньше, чем в предыдущем, но данные представлены не в денежном формате, да и заголовок не имеет нужного смысла.
Откройте запрос в конструкторе, установите курсор в четвёртом поле, через контекстное меню войдите в пункт Свойства. В этом окне установите денежный формат и добавьте подпись Стоимость покупки со скидкой. Выполните запрос ещё один раз.
Замечание. Обратите внимание, новое поле появилось только в результате выполнения запроса. В самой таблице Покупки этого поля нет.
Задание. В таблице Покупки создайте вычисляемое поле Дата доставки. Значения этого поля вычисляются по формуле Дата покупки+2.
Запросы на изменение
Помимо выбора записей по условию мы можем в конструкторе запросов выполнить запросы на создание таблицы, обновление записей, добавление записей, удаление записей, а так же выполнить перекрёстный запрос. Для этого нужно войти в конструктор и выбрать тип запроса с помощью одноимённой кнопки на панели Конструктор Работа с запросами.
Задание.Для изучения следующей группы запросов добавьте в таблицу Покупкиещё несколько записей с покупками Ивановой, Козлова, Лаврова и т.д.
К запросам на изменение относятся запросы на обновление данных в таблице, на добавление и удаление записей, на создание таблицы на основе данных исходной таблицы. По умолчанию Microsoft Access 2010 в целях безопасности блокирует все запросы на изменение. Для включения заблокированных запросов нужно войти в меню
Файл → Параметры → Центр управления безопасностью →клавишаПараметры центра управления безопасностью… → Параметры макросов → Включить все макросы (не рекомендуется, возможен запуск опасной программы) → OK→ OK
Создание таблицы
Для создания таблицы с помощью запроса нужно войти в конструктор запросов, выбрать таблицу Покупки, нажать кнопку Создание таблицы на панели Конструктор Работа с запросами. В окне Создание таблицы введите имя таблицы, например Покупки Иванова и активизируйте параметр В текущей базе данных, далее нажмите ОК.
В бланке запроса выберите поля из таблицы Покупки, которые должны присутствовать в таблице Покупки Иванова: Номер,Фамилия, Дата покупки, Стоимость покупки. Если необходимо, добавьте сортировку, например, по дате покупки по возрастанию. Далее, по полю Фамилия в строке Условие отбора укажите фамилию Иванов.
Выполните и сохраните запрос. Откройте Таблицыв области переходов. Вы видите новую таблицу Покупки Иванова. Откройте её. В этой таблице представлены все покупки Иванова (из таблицы Покупки), отсортированные по полю Дата покупки по возрастанию.
Добавление записей
Мы будем добавлять покупки Ивановой из таблицы Покупки в таблицу Покупки Иванова. Войдите в режим создания запросов в конструкторе. Добавьте таблицу Покупки. На панели Конструктор Работа с запросами нажмите кнопку Добавление. В окне Добавление из выпадающего списка выберите таблицу, в которую нужно добавить записи, таблицу Покупки Иванова. В бланке запроса укажите поля из таблицы Покупки: Номер,Фамилия, Дата покупки, Стоимость покупки. В строке Условие отбора в поле Фамилия введите значение Иванова. Выполните и сохраните запрос. Откройте таблицу Покупки Иванова. В этой таблице теперь содержатся покупки и Иванова, и Ивановой.