
- •Знакомство с Microsoft Access. Компьютерный практикум.
- •Введение
- •1.Создание базы данных. Открытие базы данных
- •1.1.Создание базы данных.
- •1.2.Открытие и сохранение базы данных
- •2. Таблицы
- •2.1. Создание таблиц
- •2.2. Ввод, редактирование и удаление записей
- •2.3. Изменение структуры таблицы.
- •2.4. Связи между таблицами.
- •3. Запросы
- •3.1. Сортировка записей
- •3.2. Запросы с критериями выбора
- •3.3. Запросы с параметрами.
- •3.4.Запросы с вычисляемыми полями
- •3.5. Запросы к связанным таблицам
- •3.6. Запросы с группировкой данных
- •3.7. Запросы с удалением записей
- •3.8.Запросы замены
- •3.9.Перекрестные запросы
- •4. Формы
- •4.1. Создание форм
- •4.2. Конструктор форм
- •4.3.Создание элементов формы
- •4.4.Переключатели
- •4.5. Списки
- •4.6. Рисунки
- •4.7.Мастер диаграмм
- •4.8. Многотабличные формы
- •5. Отчеты
- •5.1. Одноколонные отчеты
- •5.2.Ленточные отчеты
- •5.3.Отчеты с группировкой данных и вычислением итогов
- •5.4.Отчеты для связанных таблиц
- •5.5. Группировка по нескольким уровням
- •6. Библиографический список
3.5. Запросы к связанным таблицам
Обычно в запросах используются поля из разных таблиц. Так, в таблице ЗАКАЗ нет фамилий покупателей и названий товаров, а есть только их коды. Для получения полной информации необходимо в запросе использовать три таблицы: ЗАКАЗ, ТОВАР, ПОКУПАТЕЛЬ. При построении таких запросов в верхней части бланка QBE открываются все необходимые таблицы вместе с их связями, которые появляются автоматически. Затем в нижнюю часть банка запроса перетаскиваются нужные поля из разных таблиц. Полезно указывать имена таблиц, из которых берутся поля, так как часто имена некоторых полей в разных таблицах совпадают. Для этого в режиме Конструктора в верхнем меню выбираются пункты Вид/ Имена таблиц, в результате в бланке QBE появляется строка с именами таблиц.
Создадим запрос “Покупатели и даты” для таблиц ЗАКАЗ и ПОКУПАТЕЛЬ с полями Фамилия ИО, Код заказа, Дата продажи в указанном порядке. Полученный список должен быть отсортирован по фамилиям покупателей в порядке возрастания и датам в порядке убывания. Для этого откроем таблицы ПОКУПАТЕЛЬ и ЗАКАЗ (связь по полю Код покупателя уже установлена) и перетащим указанные выше поля в бланк QBE. Введем сортировку в указанном порядке.
Создать запрос “Покупки клиента” с вводом начала фамилии в качестве параметра. Запрос содержит поля Фамилия ИО, Наименование, Код заказа, Дата продажи. Условие отбора будет иметь вид: Like [ФИО] & ”*”.
Создать запрос “Заказы со стоимостью“, содержащий поля Фамилия ИО, Наименование, Код заказа, Количество товара, Цена и вычисляемое поле Стоимость: [Цена]*[Количество товара].
3.6. Запросы с группировкой данных
Часто
запросы создаются для анализа
данных
в таблицах, причем с использованием
различных критериев
для отбора нужных записей. При этом все
записи с одинаковыми значениями в
указанном поле группируются в результате
запроса в одну новую запись, а по другим
полям выполняются вычисления.
Выделяются
две группы
полей: одна для группировки записей,
вторая для подсчета итогов. Для разработки
таких запросов используется пиктограмма
Групповые
операции или
пункты меню Вид
/ Групповые операции. Имеются
следующие групповые операции: Sum
– сумма значений поля, Avg
– среднее значение поля, Min,
Max –
минимальное и максимальное значение в
поле, Count
– количество значений в поле и другие
(см. Справку
Access). Можно использовать пункты меню
Выражение
для формирования более сложных операций
вычисления итогов и Условие
для задания условий отбора записей, не
совпадающее с критерием группировки,
соответствующее поле будет невидимым.
Создадим
запрос “Итог по датам” для таблицы
ЗАКАЗ, содержащий поля Дата
продажи и
Количество
товара. Будем
вычислять число единиц товара, проданных
в течение каждого дня, и выведем общий
список по дням. Для этого после выбора
таблицы ЗАКАЗ и переноса колонок с
именами полей в нижнюю часть бланка QBE
надо выбрать в меню пункты Вид
/ Групповые операции или
нажать кнопку
.
В бланке QBE появится строка Групповая
операция.
В поле
Дата продажи
выберем Группировка
(т.е. записи будут сгруппированы по датам
продажи), в поле Количество
товара
выберем Sum.
Дополнительно введем в колонке Дата
продажи сортировку
по датам в порядке убывания.
Создать запрос “Итоги по покупателям” для таблиц ПОКУПАТЕЛЬ и ЗАКАЗ, содержащие поля Фамилия ИО и Количество товара. Вычислить количество товаров, купленное каждым покупателем.
Создать запрос “Число покупок” для таблиц ПОКУПАТЕЛЬ и ЗАКАЗ, содержащие поля Фамилия ИО и Количество товара. Вычислить число покупок, сделанных каждым покупателем (функция Count). Использовать предыдущий запрос, скопировав его.
Создать запрос “Сумма денег по покупателям”, содержащие поля Фамилия ИО и вычисляемое поле Сумма, содержащее сумму, заплаченную покупателем за купленные им товары. Для вычисления суммы надо количество товара умножить на его цену. Запрос будет использовать три таблицы: ТОВАР, ПОКУПАТЕЛЬ и ЗАКАЗ.
Создать запрос “Среднее количество проданных товаров по категориям” для таблиц ЗАКАЗ, КАТЕГОРИЯ ТОВАРА и ТОВАР, содержащий поля Значение и Количество товара. Использовать функцию Avg.