Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

5684

.pdf
Скачиваний:
2
Добавлен:
13.11.2022
Размер:
3.43 Mб
Скачать

21

Пример: Получить список товаров поставки, которых не совершались. Все необходимые поля находятся в таблицах Товар и Поставки. Это многотабличный запрос, в котором необходимо установить параметры

объединения записей.

Запускаем Конструктор запросов, добавляем в запрос указанные таблицы, проверяем наличие связей между таблицами.

Двойным щелчком левой клавишей мыши по связи между таблицами в схеме данных запроса открываем окно Параметры объединения. Уста-

навливаем второй способ объединения – все записи из таблицы Товар и только те записи из таблицы Поставки, в которых связанные поля совпадают (рисунок 13)

В таблице конструктора указываем поля Наименование, Код_товара из таблицы Товар и поле Код_товара (или любое другое) из таблицы Поставки. Для поля Код_товара из таблицы Поставки задаём условие отбора Is Null – незаполненные ячейки. Заполненный конструктор представлен на рисунке 14.

Созданный запрос сохраняем и запускаем его на выполнение.

Рисунок 13 – Параметры объединения записей в запросе

Рисунок 14 – Простой многотабличный запрос с объединением записей

22

Запросы с вычисляемыми полями

1.Получите список товаров, новая стоимость которых превышает Y рублей (цены выросли на 30%). Для преобразования результата вычислений в денежный тип данных используйте функцию CCur().

2.Вычислите стоимость товаров с учётом НДС. Запрос должен содержать код и наименование товара, его цену и цену с учётом НДС. Используйте в вычисляемом поле функцию CCur().

3.Получите список поставок, выполненных в январе, марте и мае текущего года. В запросе используйте функцию Month() (данная функция преобразует дату в номер месяца в году).

4.Вычислите новую стоимость товаров поставленных после 15 марта текущего года (цены выросли на 20%).

5.Рассчитайте величину Стоимости для каждой выполненной поставки (цена каждого товара с учётом НДС). Расчётная формула:

Цена * (1 + Ставка НДС) * Количество.

6.Используя функцию Weekday(), определите наименования товаров, которые были поставлены в каждый понедельник мая и июня (данная функция преобразует дату в номер дня в неделе, счёт дней начинается с воскресенья).

Пример: Получить список товаров, новая стоимость которых превышает 500 рублей (цены выросли на 30%). В запросе использовать функцию

CCur().

Запрос однотабличный, все необходимые поля находятся в таблице

Товар.

Запускаем Конструктор запросов, добавляем таблицу в запрос.

В таблице конструктора указываем поля Код_товара и Наименование, для того чтобы получить необходимую информацию о товарах. Создаём вычисляемое поле, для чего размещаем в ячейке строки Поле следующее выражение для расчёта новой цены

=CCur([Товар]![Цена]*1,25)

дополнительно для вычисляемого поля добавляем условия отбора записей. Заполненный конструктор представлен на рисунке 15.

Для создания вычисляемых полей можно использовать Построитель выражений. Он позволяет выбирать поля таблиц и запросов базы данных, автоматически создаёт ссылки на выбранные поля и размещает ссылки в рабочем окне Построителя. Кроме этого можно выбирать из списка встроенные функции MS Access. Основные этапы работы с Построителем представлены на рисунках 16 и 17.

Созданный запрос сохраняем и запускаем.

23

Рисунок 15 – Запрос с вычисляемым полем

Рисунок 16 – Построитель выражений, выбор функции

Рисунок 17 – Построитель выражений, создание выражения

24

Запросы с групповыми операциями

1.Определите, сколько поставщиков находится в каждом регионе.

2.Определите, скольких товаров нет в наличии.

3.Определите последние даты поставок для всех товаров.

4.Определите, сколько единиц каждого товара было поставлено в марте и апреле текущего года.

5.Определите, сколько поставок было выполнено поставщиком X в течение первого квартала.

6.Определите суммарную и среднюю стоимость товаров, находящихся на каждом из складов (данный запрос выполните к запросу 5 из группы Запросы с вычисляемыми полями, при необходимости до-

полните запрос 5 необходимыми полями).

Пример: Определить, сколько поставщиков находится в каждом регионе. Запрос требует группировки записей по названиям регионов, все необ-

ходимые поля находятся в таблицах Поставщики.

Запускаем Конструктор запросов, добавляем в запрос указанную таблицу. Добавляем в запрос групповые операции (итоги).

В таблице конструктора указываем поле Регион, даём указание сгруппировать записи по содержимому этого поля (групповая операция – Группировка). Указываем поле Регион ещё раз, выбираем функцию для расчёта количества записей в полученных группах (групповая операция – функция Count). Заполненный конструктор представлен на рисунке 18.

Созданный запрос сохраняем и запускаем его на выполнение.

Рисунок 18 – Запрос с групповыми операциями

Перекрёстный запрос

1.С помощью мастера запросов создайте перекрёстный запрос на основе данных таблицы Поставки. Для этого:

25

запустите мастер командой вкладка Создание → Мастер запросов (рисунок 10);

в первом окне мастера выберите тип запроса – перекрёстный запрос, нажмите Ok;

во втором окне выберите таблицу Поставки и нажмите Далее;

в следующих окнах выберите поле Номер_поставщика, которое будет использовано в качестве заголовков строк и поле Номер_склада, которое будет использовано в качестве заголовков столбцов;

в предпоследнем окне мастера выберите поле Количество и функцию Сумма, подтвердите вычисление итогового значения для каждой строки;

задайте имя запроса, выберите просмотр результата запроса, нажмите кнопку Готово.

Комбинированные запросы на выборку

1.Определите, сколько процентов составляют поставки из каждого региона. Для этого создайте следующие запросы (это один из возможных способов, Вы можете действовать и по-другому):

запрос на определение количества поставок по регионам;

запрос для определения суммарного количества поставок (может быть выполнен к предыдущему запросу или к таблице Поставки);

запрос с вычисляемым полем и расчётной формулой Количество поставок по регионам / Суммарное количество поставок * 100.

2.Определите номера телефонов поставщиков выполнивших поставок на сумму, превышающую Х рублей. Подсказка – предварительно создайте промежуточный запрос на определение общей суммы поставок для каждого поставщика (данный запрос можно выполнить к за-

просу 5 из группы Запросы с вычисляемыми полями, если необходи-

мо дополните запрос 5 новыми полями).

3.Определите номер телефона контактного лица поставщика, выполнившего наибольшее количество поставок в первом квартале года.

4.Определите, название самого дорогого товара, находящегося на каждом из складов.

5.Определите, сколько поставок было выполнено в каждом месяце текущего года. Подсказка – в запросе используйте вычисляемое поле с соответствующей функцией и групповой операцией.

26

Анализ данных с помощью сводных диаграмм

1.В режиме сводной диаграммы выполните анализ списка товаров, поставленных во втором квартале текущего года (запрос 5 из группы

Простые многотабличные запросы). Настройте сводную диаграмму:

запустите указанный запрос, на вкладке Главная выберите режим

Сводная диаграмма;

в появившемся макете выберите и перетащите с помощью левой клавиши мыши поле Код товара в область категорий, поле Цена в область данных, Дата поставки по месяцам в область филь-

тра.

2.Измените сумму по полю Цена на среднее значение (для этого воспользуйтесь пунктом Автовычисления контекстного меню, которое появится после нажатия правой клавишей мыши на кнопку Сумма

«Цена»).

3.Замените поле Код товара на поле Наименование поставщика.

Оцените произошедшие изменения.

4.Сделайте так, чтобы на диаграмме отображались данные о поставках одного поставщика за один месяц.

4.Запросы – действия

Запросы-действия предназначены для изменения данных, содержащихся в базе. При работе с запросами-действиями необходимо соблюдать осторожность, чтобы избежать необратимой потери данных. Не случайно в списке объектов базы данных эти запросы отмечаются значком «!». Запро- сы-действия могут быть следующих видов:

запросы на создание таблицы;

запросы на обновление;

запросы на добавление;

запросы на удаление.

При создании запросов на создание таблиц и запросов на удаление целесообразно вначале создать запрос на выборку, проверить его работу, а затем преобразовать в требуемый запрос-действие.

Практическое задание 4. Создание запросов-действий

Запустите MS Access 2007. Откройте базу данных по учёту торговли. Создайте предложенные запросы-действия.

1.Создайте новую таблицу Цена с НДС, содержащую код и наименование товара, его цену и цену с учётом НДС. Последовательность действий следующая:

27

откройте в режиме конструктора запрос 2 из группы Запросы с вычисляемыми полями;

измените тип запроса, в появившемся окне укажите название новой таблицы и место ее размещения, в нашем случае это – теку-

щая база данных, (рисунок 19);

сохраните запрос и запустите его на выполнение.

Рисунок 19 – Запрос на создание таблицы

2.Создайте запрос на обновление цены пяти любых товаров (наименования товаров задайте самостоятельно, цены выросли в 1,25 раза). Для этого выполните следующие действия:

запустите конструктор запросов, выберите таблицу данные, в которой должны быть обновлены, измените тип запроса;

в строке Поле укажите поле Цена, в строке Обновление создайте выражение для вычисления обновления поля Цена;

в строке Поле укажите поле Наименование, в строках Условие отбора / или укажите наименования товаров, цена которых будет обновлена, сохраните и запустите запрос (рисунок 20).

3.В таблице Поставки, через запрос на обновление, рассчитайте величину Стоимости для каждой выполненной поставки (цена каждого товара с учетом НДС). Расчётная формула: Цена * (1 + Ставка НДС) * Количество.

28

Рисунок 20 – Запрос на обновление

4.Удалите из соответствующей таблицы данные о поставках, выполненных одним из поставщиков (номер поставщика задайте самостоятельно). Для этого выполните следующие действия:

запустите конструктор запросов, выберите таблицу данные, в которой должны быть удалены;

создайте запрос на выборку, условие отбора записей – номер поставщика, поставки которого будут удаляться;

запустите запрос (это можно сделать без сохранения запроса, нажав на кнопку Режим) и убедитесь, что записи отобраны правильно;

измените тип запроса (обратите внимание, что таблица конструктора претерпела изменения);

сохраните запрос и запустите его (помните, что удаление записей процесс необратимый!).

5.Через запрос на добавление добавьте новые записи в таблицу Товар. Последовательность создания запроса следующая:

свяжите свою базу данных с таблицей–источником записей:

вкладка Внешние данные → блок Импорт, кнопка Access, в от-

крывшемся окне укажите положение источника данных (источник данных – база LR_запросы.mdb), установите переключатель – Со-

здать связанную таблицу для связи с источником данных, в от-

крывшемся окне выберите таблицу Новые товары (рисунок 21).

29

запустите конструктор запросов, выберите таблицу Новые товары, преобразуйте запрос в запрос на Добавление и укажите в какую таблицу будут добавлены новые записи;

в строке конструктора Поле укажите поля-источники данных, в строке конструктора Добавление укажите поля, в которые добавляются данные (рисунок 22), сохраните и запустите запрос.

Рисунок 21 – Связывание базы данных с таблицей – источником записей

Рисунок 22 – Запрос на добавление

30

5. Формы базы данных

В большинстве случаев формы являются более удобным способом просмотра и редактирования данных базы, чем таблицы, они упрощают процесс ввода данных и позволяют снизить ошибки. Формы создаются на основе таблиц или запросов. При вводе или редактировании данных в форме автоматически изменяются данные в таблице или запросе, по которым создана форма.

Основные виды форм:

простая однотабличная форма;

простая форма по нескольким таблицам (запросам);

составная форма по нескольким таблицам (запросам);

кнопочная форма.

Форма является объектом – контейнером. Она содержит так называемые элементы управления, с помощью которых осуществляется доступ к данным в таблицах, размещаются надписи, рисунки, графические элементы и т.д.

Основными элементами управления являются: надпись, поле, поле со списком, список, кнопка, вкладка, переключатель, флажок, рисунок, рамка объекта для отображения объектов OLE, подчинённая форма, линия, прямоугольник. Кроме этих элементов можно использовать любой элемент, входящий в состав библиотек (коллекций) элементов ActiveX.

Форма содержит следующие основные области: заголовок формы, область данных, примечание формы. Если предполагается печать формы, то могут быть использованы области верхний и нижний колонтитулы.

Заголовок формы может содержать название формы, кнопки для открытия подчиненных форм и других объектов. В области данных формы отображаются данные из таблиц (запросов). Примечание формы может содержать кнопки и инструкции по использованию формы. Верхний или нижний колонтитул могут содержать название формы, дату, номер страницы, число страниц.

Для формы может быть разрешено или запрещено редактирование существующих записей, а также ввод или удаление новых (режим – только для чтения).

Для работы с формой MS Access 2007 предоставляет следующие основные режимы:

режим формы – просмотр, редактирование и добавление новых записей (кроме режима только для чтения);

режим макета – просмотр данных без возможности редактирования, возможность изменения внешнего вида формы и её элементов;

режим конструктора – конструирование формы, изменение внешнего

вида, добавление элементов управления, задание свойств элементов. Кроме этого, форму можно представить в виде таблицы (режим таб-

лицы), что часто используется при создании составных форм, или создать на основе формы Сводную таблицу и Сводную диаграмму.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]