Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб. раб. Access.doc
Скачиваний:
2
Добавлен:
24.11.2018
Размер:
1.7 Mб
Скачать

Лабораторная работа № 2 Конструирование и использование запросов на выборку и действия

Перед выполнением запросов действия установите параметры безопасности, так как запросы-действия приводят к изменению базы данных. Для установки надо в строке Предупреждение системы безопасности. Часть содержимого будет отключено, нажать на кнопку Параметры, и установить параметр Включить это содержимое, ОК.

Задание 1. Создать запрос на выборку.

Создайте простой запрос для выборки сведений из базы данных, включающий следующие поля:

  • Код_заказа;

  • Фио/фирма;

  • Название услуги;

  • Название оплаты;

  • Дата заказа;

  • Дата исполнения;

  • Оплачен;

  • Выполнен.

Технология.

  1. Щелкните по кнопке Конструктор запросов в меню Создание на панели инструментов Другие.

  2. В окне Добавление таблицы добавьте все таблицы , затем нажмите кнопку - Закрыть.

  3. Перетащите названия всех нужных полей из таблиц в строку Поле бланка запроса.

  4. Просмотрите результат выполнения запроса в Режиме таблицы.

  5. Закройте запрос, сохранив его и присвоив ему имя Выборка1.

Задание 2. Создать запрос по условию.

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

Технология

1. В области переходов скопируйте запрос Выборка1, и переименуйте в Невыполненные заказы.

  1. Откройте запрос в режиме Конструктора;

  2. Введите в строку Условие отбора для поля Выполнен значение – Нет;

  3. Выполните запрос, нажав кнопку Выполнить на инструментальной панели Результаты меню Конструктор;

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

Задание 3 . Создать запрос на выборку с использованием функций в условии отбора.

Создайте запрос для отбора невыполненных заказов на текущую дату.

Технология

1. Щелкните по кнопке Конструктор запросов панели инструментов Другие меню Создание.

2. В окне Добавление таблицы выберите таблицу Заказы, нажмите кнопку Добавить, а затем Закрыть.

3. Добавьте в бланк запроса все поля таблицы Заказы. Для этого можно сначала выделить все поля этой таблицы с помощью клавиши Shift, а затем перетащить их в строку Поле бланка запроса.

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

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

5. Запустите созданный запрос на выполнение. Затем сохраните его под именем Невыполненные заказы на тек. дату.

Задание 4. Создать запрос на выборку с условием отбора.

Создайте запрос для поиска заказчиков по первой букве поля Фио/Фирма.

Технология.

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

  2. Введите из таблицы Заказчики все поля в бланк запроса.

  3. В строку условие отбора для поля Фио/фирма введите, например, Like «Б*», для вывода всех заказчиков на букву Б.

  4. Сохраните запрос под именем Выбор по фио и проверьте работу выполнения запроса.

Задание 5. Создать запрос с параметром.

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

Технология.

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

  2. Введите из таблицы Заказчики поля Код_заказчика, Фио/фирма и из таблицы Заказы введите поля Код_заказа, Дата, заказа, оплачен, выполнен;

  3. В строку условия отбора для поля Код_заказчика введите текст [Введите код_заказчика]. Этот текст будет выводиться в диалоговом окне при выполнении запроса;

  4. Сохраните запрос под именем Заказы по коду заказчика и проверьте работу выполнения запроса.

Задание 6. Самостоятельно создать запрос с параметром, для выбора заказов, содержащий заданную услугу. Название услуги вводить, как параметр.

Задание 7. Создать запрос с вычисляемым полем.

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

Технология.

  1. Создайте запрос в режиме конструктора на основании таблиц Заказы, Услуги в заказах, Услуги.

  2. Включите в бланк запроса поля: Код_заказа, Код_заказчика из табл. Заказы и Название, Цена из табл. Услуги; Кол-во из табл. Услуги в заказах.

4. Щелкните мышью в строке Поле первого свободного столбца бланка запроса и с помощью Построителя выражений введите в него выражение

Стоимость услуг в заказе: [кол-во] * [цена]

где кол-во – поле таблицы Услуги в заказах , цена - поле таблицы Услуги.

7. Выполните запрос, проверьте правильность его работы, а затем сохраните под именем Вычисления.

Задание 8. Самостоятельно рассчитайте на основании созданного запроса Вычисления величину НДС и стоимость заказа без НДС. Величина НДС- 28%.

Задание 9 . Создать запрос с группировкой данных.

Создайте запрос для подсчета количества заказов по заказчикам.

Технология.

  1. Создайте запрос в режиме конструктора на основании таблицы Услуги в заказах, Заказы, Заказчики.

  2. В бланк запроса поместите поля Фио/фирма, Код заказа, оплачен.

  3. Для столбца Фио/фирма установите порядок сортировки По возрастанию.

  4. Введите новое название столбца запроса Фио/фирма. Для этого введите новое название перед старым, отделив его от старого двоеточием. В результате ячейка с названием поля должна содержать Количество заказов: Фио/фирма

  5. Добавьте в бланк запроса строку Групповые операции, нажав на кнопку Итоги в меню Конструктор на панели инструментов Показать или скрыть.

  6. В строке Групповые операции поля Количество заказов выберите функцию Count.

  7. Выполните запрос и сохраните его под именем Количество заказов у заказчиков.

  8. Проверьте правильность запроса.

Задание 10. Самостоятельно создайте запрос, подсчитывающий количество выполненных заказов.

Задание 11. Создать перекрестный запрос.

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

Технология.

1. Создайте новый запрос с использованием таблиц Заказы, Услуги в заказах, Заказчики.

2. Введите в бланк запроса поля Код заказа, ФИО/фирма, Дата исполнения, Выполнен, Оплачен.

3. Для полей Выполнен и Оплачен задайте условие отбора Да.

4. Щелкните по кнопке Перекрестный панели инструментов Тип запроса меню Конструктор. В бланке запроса появится новые строки Групповые операции и Перекрестная таблица.

5. В строке Групповые операции для поля Код заказа установите функцию Count.

6. В строке Перекрестная таблица установите в качестве Заголовка строк поле ФИО/фирма, для Заголовки столбцов - поле Дата исполнения –, для Значение - поле Код заказа.

7. Выполните запрос и проверьте правильность его работы. Сохраните запрос с именем Перекрестный на выборку.

Задание 12. Самостоятельно создайте перекрестный запрос, подсчитывающий стоимость услуг в выполненных заказах. Введите в бланк запроса из таблиц Заказы, Услуги в заказах, Услуги поля: Код заказа, Название услуги, цена. Для поля Цена установите групповую операцию SUM. В строке Перекрестный запрос установите для поля Код заказа – заголовок строк, для поля Название услуг – названия строк, для поля Цена – значение.

Задание 13. Создать новую таблицу

Создайте запрос, при выполнении которого будет автоматически создана заполненная данными таблица для вывода Оплаченных и выполненных заказов за месяц. Номер месяца введите как параметр в условии отбора.

Технология:

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

  • Измените тип запроса на Создание таблицы, нажав одноименную кнопку на панели инструментов - Тип запроса меню Конструктор. В окне Создание таблицы задайте ей имя Выполненные заказы за месяц.

  • Введите в бланк запроса поля Код_заказа(табл. Заказы), ФИО/фирма(табл. Заказчики), Дата_заказа, Дата исполнения, оплачен, выполнен (табл. Заказы) и название вида (табл. Виды оплат).

  • Введите условие отбора для поля Дата заказа, используя Построитель выражения.

Month([Заказы]![Дата_заказа])=[месяц],

  • Закройте запрос и сохраните под именем Выполненные заказы за месяц.

  • Выполните запрос и просмотрите созданную таблицу в объекте Таблицы.

Внимание, если вы будете повторно выполнять запрос на создание таблицы, например для другого месяца, то переименуйте предыдущую созданную таблицу, При выполнении запроса потребуется удалить существующую таблицу.

Задание 14. Создать запрос на обновления.

Создайте запрос для изменения названия ФИО/фирмы в таблице Заказчики, используя параметр для задания текущего значения поля ФИО/фирмы в строке условия отбора и параметр для ввода нового значения поля.

Технология.

  1. Создайте запрос в режиме конструктора.

  2. Добавьте в окно запроса таблицу Заказчики.

  3. В бланк запроса переместите поле ФИО/фирма и Код заказчика.

  4. В строку условие отбора для поля Код заказчика введите - [Введите Код заказчики].

  5. Задайте тип запроса, нажав кнопку Обновление на инструментальной панели - Тип запроса меню Конструктор. В бланке запроса появится новая строка Обновление.

  6. В строку обновления для поля ФИО/фирма введите - [Введите новое ФИО/фирму].

  7. Выполните запрос. Подтвердите выполнение этого запроса на изменение, затем закройте его, сохранив под именем Запрос на обновление.

  8. Откройте таблицу Заказчики и проверьте правильность выполнения запроса

Выполнение любых запросов - действия, приводят к изменению базы данных, поэтому всегда по умолчанию запрашивается подтверждение выполнения запроса. Для отмены вопроса на подтверждение выполнения запроса надо в меню кнопки Office нажать на кнопку Параметры Access, в появившемся диалоговом окне выбрать объект Дополнительно и снять флажки изменения записей, удаления документов и запросов на изменение в группе Подтверждение.

  1. Повторно выполните запрос и проверьте результаты его выполнения, открыв таблицу Заказчики.

Задание 15. Самостоятельно создать запрос на увеличение цены услуг на 10 %.

Задание 16. Создать запрос на удаление.

Создайте запрос на удаление заказчика из таблицы Заказчики по коду заказчика.

Технология.

  1. Откройте схему данных, и измените связь между таблицами Заказы и Заказчики. Для изменения связи установите курсор на линию связи между таблицами, вызовите контекстное меню и выполните команду Изменить связь. В диалоговом окне установите опцию Каскадное удаление связанных записей и ОК.

  2. Аналогично, измените связь между таблицами Заказы и Услуги в заказах, т.е. в окне Изменить связь установите опцию Каскадное удаление связанных записей.

  3. Создайте запрос в режиме конструктора.

  4. Добавьте в окно запроса таблицу Заказчики.

  5. В бланк запроса переместить поле Код_заказчика.

  6. В строку условие отбора ввести значение кода заказчика,

  7. Установите вид запроса Удаление, в бланке запроса появится строка Удаление.

  8. В строке Удаление установите – Условие.

  9. Сохраните под именем Удаление заказчика по коду.

  10. Проверьте выполнение запроса. После выполнения запроса посмотрите таблицу Заказчики, в ней не должно быть строки с введенным кодом. Так как в схеме данных была установлена опции Каскадное удаление связанных записей, то при удалении заказчика, удалятся все заказы этого заказчика из таблиц Заказы и Услуги в заказах. Просмотрите содержимое таблиц Заказы и Услуги в заказах в объекте Таблицы.

Помните удаленные записи не восстановить.