
- •Запросы
- •Запросы на выборку
- •Простые запросы на выборку
- •Использование логических операторов «и» и «или» в запросах
- •Запросы на выборку с вычисляемыми полями
- •Многотабличные запросы на выборку
- •Запросы на обновление
- •Простые формы
- •Создание форм с помощью Мастера форм
- •Редактирование форм с помощью Конструктора
- •Надписи на формах
- •Кнопки на формах
- •Вычисляемые поля на формах
- •Составные формы
- •Простые отчеты
- •Создание отчетов с помощью Мастера отчетов
- •Редактирование отчетов с помощью Конструктора
- •Вычисляемые поля и надписи в отчетах
- •Составные отчеты
- •Составной отчет на базе двух таблиц
- •Составной отчет на базе трех и более таблиц
Многотабличные запросы на выборку
На практике, как правило, требуется выборка не из одной, а из нескольких таблиц одновременно. Такие запросы называются многотабличными. По логике работы они ничем не отличаются от простых запросов с той лишь разницей, что информация в выборке взята из нескольких различных таблиц.
Например, выполним такое задание:
Вывести информацию о том, Кто, Когда, Какой товар, По какой цене, В каком количестве заказывал.
Чтобы решить поставленную задачу, создадим запрос с помощью конструктора. Выберем таблицы, с которыми нам придется работать – Покупатели, Заказы, Товары. Далее добавим необходимые нам поля – Имя из таблицы Покупатели, Дата и Время из таблицы Заказы, Наименование и Цена из таблицы Товары, Количество из таблицы Заказы (рисунок 5.15).
Рисунок 5.15 – Многотабличный запрос на выборку
Сохраним созданный запрос под именем Ведомость заказов. Проверим работоспособность запроса, запустив его двойным щелчком (рисунок 5.16).
Рисунок 5.16 – Запрос на выборку Ведомость заказов
Задания для самостоятельного выполнения:
Вывести информацию о том, Кто, Когда, Какой товар, В каком количестве поставлял.
Запрос сохранить под именем Ведомость поставок.
Вывести информацию о том, Кто, Какой товар, По какой цене, В каком количестве заказывал, дополнив эту информацию полем Сумма (сумма = цена * количество).
Запрос сохранить под именем Суммарная ведомость заказов.
Запросы на обновление
Запросы служат не только для выборки информации. Они позволяют выполнять и другие действия над информацией, хранящейся в базе данных. Для быстрого изменения информации в базе предназначен запрос на обновление. Для знакомства с новым видом запросов выполним следующее задание:
В связи с ростом курса валют повысить цены товаров на 20%.
Для решения данной задачи создадим новый запрос с помощью конструктора. Добавим таблицу, в которой хранится информация о цене – это таблица Товары. Далее двойным щелчком добавим необходимое для работы поле – Цена.
Если обратить внимание на ленту MS Access 2010, то можно увидеть, что на вкладке Конструктор для нашего запроса установлен тип Выборка (рисунок 5.17).
Рисунок 5.17 – Выбор типа запроса
А нам нужно сделать запрос на обновление. Поэтому на вкладке Конструктор выберем пункт Обновление. В результате в конструкторе запроса над строкой Условие отбора: появится строка Обновление: (рисунок 5.18).
Рисунок 5.18 – Строка Обновление в конструкторе запроса
Далее нам требуется ввести формулу для изменения значений поля Цена. Для этого выполним щелчок правой кнопкой мыши в строке Обновление: в поле Цена и в появившемся контекстном меню выберем пункт Построить…
В результате выполненной последовательности действий на экране появится окно Построителя выражений. Для расчета новой стоимости товара нам понадобится его текущая цена, которая хранится в таблице Товары. Поэтому с помощью двойного щелчка выберем в левой части Построителя выражений нашу базу Интернет-магазин, в ней – пункт Таблицы, а в списке таблиц выберем Товары. В средней части Построителя выражений опять двойным щелчком выберем интересующее нас поле – Цена – оно добавится в верхнюю область построителя в следующем виде: [Товары]![Цена]. По условию задания нам нужно повысить стоимость товаров на 20%. Для этого умножим текущую цену на 120 и разделим на 100: [Товары]![Цена] * 120 / 100. Формула для вычисления новой стоимости товаров готова. Для сохранения созданной формулы в Построителе выражений нажмем кнопку ОК. А созданный запрос сохраним под именем Повышение цен на 20%.
Для проверки работоспособности запроса откроем сначала таблицу Товары. Запомним стоимость первого товара – это ЖК-телевизор и его стоимость 1 800 000р. Закроем таблицу Товары. Запустим двойным щелчком запрос Повышение цен на 20%. СУБД MS Access предупредит о том, что запрос на обновление приведет к изменению данных таблицы, и попросит подтвердить выполнение это запроса. Поскольку нам как раз и требуется изменить стоимость товаров, то смело нажимаем кнопку Да. Далее программа сообщит, сколько записей будет обновлено, и еще раз попросит подтверждения. Нажимаем Да. Обновление завершено. Осталось проверить результат. Для этого откроем опять таблицу Товары. Видим, что стоимость ЖК-телевизора увеличилась на 20% – была 1 800 000р., стала – 2 160 000р.
Задания для самостоятельного выполнения:
Повысить оклад всем работникам на 15%.
Запрос сохранить под именем Повышение оклада на 15%.
Увеличить на 5 единиц количество тех товаров, стоимость которых не превышает 1 000 000р.
Запрос сохранить под именем Увеличение количества дешевых товаров.
Создать запрос, позволяющий автоматически изменять наименование должности работников, а именно: должность Курьер на должность Менеджер по продажам.
Запрос сохранить под именем Изменение должности.
Формы
Форма в MS Access – это структурированное окно, предназначенное для более удобной работы с информацией, хранящейся в базе данных. Поскольку информация хранится в таблицах, то формы строятся на основании этих таблиц. Соответственно различают простые формы (для работы с данными одной таблицы) и составные (для работы с данными нескольких таблиц).