Uploaded by kartashova-olga0

Практическая работа 7

advertisement
П.р.№ 7
1
Практическая работа № 7
Тема: Создание сложных запросов.
Объекты: запросы разных типов, перекрестный запрос.
Цель работы. Создать сложные запросы для отбора из таблиц необходимой информации.
Теоретические сведения.
Конструирование запросов разных типов.
Действия таких запросов необратимы, поэтому нужно создавать резервные копии данных.
Запрос на обновление - создается на основе запроса на выборку. Затем Запрос – Обновление,
нижняя панель бланка запроса изменяется: появляется строка Обновление. Такой запрос можно
запускать многократно для изменения нужных данных исходной таблицы.
Запрос на удаление - удаляет из одной или нескольких связанных таблиц (для связи необходимо
установить каскадное обновление). Запрос на удаление удаляет данные безвозвратно.
Предварительный просмотр результатов - кнопка
на панели инструментов.
Ход работы
1. Загрузить программу MS Access.
2. Открыть базу данных Расходные материалы, созданную на практической работе 6.
3. Перейти в окне базы данных на вкладку Запрос.
4. Создать запрос РасчетЗакупки.
Для этого создать запрос в режиме Конструктора, добавив в него две таблицы - Закупки и
Товар. Нажать на связи между ними и установить: Объединение ВСЕХ записей из «Товар» и
только …. Нажать ОК для закрытия окна. В запрос включить 1 поле: Код товара из таблицы
Товар и 2 поле – рассчитываемое, задав в нем следующую формулу с помощью построителя
выражений: Закупки:IIf(IsNull(Закупки!Количество_Закупок);0;Закупки!Количество_Закупок)
Для задания функции IIf в построителе выражение в левом нижнем окне выбрать Функции Встроенные функции, в среднем окне – Управление и в правом окне – IIf. Для задания IsNull:
Функции - Встроенные функции – Проверка – IsNull. Данную формулу можно набрать и
вручную. Включить группировку и для второго поля и выбрать SUM. Проверить работу данного
запроса.
5. Аналогично создать запрос РасчетПродажи с рассчитываемым полем Продажи.
6. Создать запрос Остаток.
Для этого создать запрос в режиме Конструктора, добавив в него три запроса: РасчетЗакупки,
РасчетПродажи и РасчетСуммаПродажи и три таблицы: Товар, Справочник типов товара и
Справочник цветов. Удалить связь между РасчетЗакупки и Товар. Удалить связь между
Справочник типов товара и Справочник цветов. Для таблиц РасчетЗакупки, РасчетПродажи
установить вручную связь по коду товара. Для таблиц РасчетПродажи и РасчетСуммаПродажи
установить вручную связь по коду товара, при этом выбрав Объединение ВСЕХ записей из
«РасчетПродажи» и только …. Для таблиц РасчетПродажи, Товар установить вручную связь по
коду товара. Включить в запрос поля Код товара из таблицы РасчетЗакупки, Название товара
из таблицы Товар, Название из таблицы Справочника типов, Название из таблицы
Справочник цветов, Закупки из РасчетЗакупки, Продажи из РасчетПродажи. Добавить
рассчитываемое поле Остаток: [Закупки]-[Продажи]. Включить Групповые операции.
Проверить правильность работы данного запроса.
7.
На
основе
запроса
ПоставщикиТовар
Перекрестный_Поставщики:
Товар
Поставщик (Покупатель)
Количество
создать
П.р.№ 7
2
перекрестный
запрос
Для этого в окне базы данных нажать кнопку Создать и в открывшемся окне выбрать
Перекрестный запрос. Нажать ОК. В открывшемся окне установить переключатель Показать в
положение Запросы и затем выбрать запрос ПоставщикиТовар и нажать Далее. На следующем
шаге мастера в качестве заголовка строк выбрать Название поставщика, перенеся его из левого
окна в правое, нажать Далее. На следующем шаге в качестве заголовка столбцов выбрать
Название товара, нажать Далее. На следующем шаге выбрать в окне Поле - Sum-Количество, а
окне Функции – Сумма, нажать Далее. На последнем шаге ввести название запроса
Перекрестный_Поставщики.
8. Аналогично создать перекрестный запрос Перекрестный_Покупатели.
9. Выполнить корректировку запроса РасчетСуммаПродажи.
Для этого открыть запрос РасчетСуммаПродажи в режиме Конструктора и добавить в него
таблицы Покупатели и Справочник городов. Добавить в данном запросе после рассчитываемого
поля Сумма все поля, относящиеся к покупателю (№ паспорта, кем выдан и т.д.)
10. Создать запрос Расчет средняя цена закупки.
Для этого Создать запрос в режиме конструктора и который включить запрос
РасчетСуммаЗакупки. Выбрать поля - Код товара, Количество закупки, Сумма. Добавить
рассчитываемое поле Средняя цена:Sum([Сумма]/[Количество_Закупок]). Включить
Групповые операции и для Количества закупок и Суммы в строке Групповая операция
выбрать Sum, а для нового рассчитываемого поля - Выражение. Проверить правильность работы
запроса и сохранить его с именем Расчет средняя цена закупки.
11. Создать запрос Прибыль Товар-Месяц.
В данный запрос включить запрос Расчет средняя цена закупки, таблицы Продажи и Товар.
Удалить связь между запросом Расчет средняя цена закупки и Товар, а затем установить ее
вручную между запросом Расчет средняя цена закупки и Продажи между кодом товара.
Добавить поля Код товара (из таблицы Продажи), название товара (из таблицы Товар),
Количество продаж и Цена (из таблицы Продажи).
Добавить рассчитываемое поле Средняя цена: [Расчет средняя цена закупки]![SumСумма]/[Расчет средняя цена закупки]![Sum-Количество_Закупок].
Добавить рассчитываемое поле Месяц: MonthName(Month([Дата])).
Добавить рассчитываемое поле Выражение1: (Month([Дата])). Для данного поля установить
сортировку по возрастанию.
Добавить рассчитываемое поле Год: Format([Дата];"yyyy").
Добавить
рассчитываемое
поле
Прибыль:
[Количество_Продаж]*[Цена][Количество_Продаж]*[Средняя цена].
Проверить правильность выполнения данного запроса. Сохранить данный запрос с именем
Прибыль Товар-Месяц.
12. На основе запроса Прибыль Товар-Месяц создать перекрестный запрос.
Название товара
Год
Итоговое значение
Для столбца Год установить сортировку по возрастанию.
Месяц
Прибыль
13. Сконструировать запрос на обновление для таблицы Покупатели для изменения кем
выдан паспорт.
П.р.№ 7
3
Для этого создать запрос на выборку для таблицы Покупатели, включающий только столбец Кем
выдан. Сохранить данный запрос с именем Обновление. Открыть данный запрос в режиме
Конструктора. Выполнить команду меню Запрос – Обновление. В столбце Кем выдан в строке
Условие отбора ввести Ленинским РО УМВД, а появившейся строке Обновление - Ленинским
РО ДГУ. Выполнить запрос. На запрос о количестве изменяемых строк убедиться, что количество
≠ 0 и ответить Да. Проверить результаты его работы, открыв таблицу Покупатели, и убедившись
во внесенных изменениях.
14. Сконструировать запрос на обновление с параметром для таблицы Поставщики, в
котором будет выполнен запрос старого названия предприятия, а также запрос на новое
значение названия предприятия.
Сохранить данный запрос с именем Обновление с параметром. Выполнить запрос и проверить
результаты его работы.
15. Сконструировать запрос на обновление для таблицы Продажи, в котором будет к цене
добавлено 100.
Сохранить данный запрос с именем Обновление с расчетом. Выполнить запрос и проверить
результаты его работы.
16. Для выполнения следующих пунктов практического задания необходимо
предварительно ввести несколько строк с информацией в соответствующие таблиц для
возможности их последующего удаления.
17. Создать запрос на удаление с параметром (по названию) для Справочника городов.
Для этого создать запрос на выборку для таблицы Справочник городов, включающий один
столбец Название. Сохранить данный запрос с именем Удаление городов. Открыть данный
запрос в режиме Конструктора. Выполнить команду меню Запрос – Удаление. В столбце
Название в строке Условие отбора ввести [Введите название города для удаления]. Выполнить
запрос. В открывшемся окне ввести нужное название города для удаления. На запрос о количестве
изменяемых строк убедиться, что количество ≠ 0 и ответить Да. Проверить результаты его работы.
18. Создать еще 3 запроса на удаление с параметром (по названию) для оставшихся трех
справочников.
Сохранить данный запрос с именами Удаление типов, Удаление цветов, Удаление стран
соответственно.
19. Создать 3 запроса на удаление с параметром (по коду) для поставщиков, покупателей,
товаров.
Указания к содержанию отчета по практической работе 7
1. Открыть файл Отчет по практике.
2. На новом листе вначале по центру набрать Практическая работа №7.
3. Добавить Screenshot всех запросов в режиме Конструктора.
4. Так же для п. 4-15 добавить Screenshot результатов выполнения запросов.
5. Сохранить данный файл.
6. Показать полученный отчет преподавателю.
Download