>• постоянным клиентам, количество договоров с которыми больше 3.
Перейдите в окно БД и скопируйте запрос с новым именем, удалите запрос. I
Запросы с вычисляемыми полями
5. Создайте запрос для расчета ведомости заработной платы для
сотрудников агентства, включив в нее следующие поля: Фамилия сотрудника, Размер оклада, Стаж, Надбавка, Налог, На руки.
Для поля Стаж нужно использовать формулу, построенную с помощью кнопки Построить, в которой учитывается сегодняшняя дата и Дата найма на работу:
Стаж : (Date()-Сотрудники!ДатаНайма)/365
Для поля Надбавка нужно исходить из того, что она составляет 10% от Размера оклада, если Стаж меньше 5лет, и 20% — если стаж больше 5 лет: IIf([стаж]< 10;0,1 *[Сотрудники]![Размер оклада]; 0,2* [Сотрудники]! [Размер оклада])
Поле Налог рассчитывается как 13% от Размера оклада:
[Сотрудники]![Размер оклада] *0,13
Поле На руки рассчитывается как:
[Размер оклада]+[надбавка]-[налог].
В результате выполнения запроса будет получена ведомость:
Фамилия ИО | Должность | стаж | Размер оклада | надбавка | налог | На руки |
Иванов | Менеджер по продажам | 4 | 8050 | 805 | 1046,5 | 7808,5 |
Уварова | агент | 2 | 9400 | 940 | 1222 | 9118 |
Создайте запрос для определения стоимости путевок корпоративных клиентов, включив в него поля Клиент,
Стоимость путевки: Sum(договоры![Цена тура]*договоры![Число туристов])
Параметрические запросы
Сформируйте запрос для выборки всех туров по названию
страны.
Создайте запрос для получения данных на сотрудников, работающих по турам в конкретную страну.
Создайте запрос по всем клиентам, оформившим договоры в определенную страну и регион.
Итоговые запросы
9. Создайте запрос, используя подходящие функции, найдите наибольший и средний размеры цены тура.
10. Создайте запрос для подсчета объема продаж: путевок в конкретную страну. Для этого:
· добавьте в Конструкторе запросов таблицу Договоры и Страны;
· добавьте в бланк запроса поля Название страны (из таблицы Страны) и расчетное поле Цена тура * Число туристов, которому присвоим название Стоимость путевок;
· выберите команду Вид →Групповые операции и в выпадающем списке в строке «Группировка» для поля Стоимость путевок установите функцию SUM;
· запустите запрос и просмотрите результаты.
Создайте запрос для определения средней цены и общей суммы
туров за 200? год (год туров вашей БД).
Для объединения записей в группы и получения итоговых значений по каждой группе используется опция «Группировка». Создайте
новый запрос для БД Туризм, в котором определите общие суммы продаж путевок по годам:
· добавьте таблицу Договоры в окно запроса;
· в первый столбец поместите поле Год начала тура, рассчитав его с помощью функции Year, во второй — сумма общих продаж путевок — Sum(договоры![Цена тура]*договоры![Число туристов]);
· установите для первого столбца в строке «Групповая операция» — «Группировка», для второго — Выражение;
· выполните запрос и прокомментируйте результаты.
Можно объединять записи в группы по нескольким полям одновременно, а также создавать группы внутри групп.
13. В БД Борей (Справка → Примеры баз данных→Учебная база данных Борей) существуют три вида доставки: «Ространс», «Самовывоз» и «Почта». Определите, сколько заказов осуществлено каждым видом доставки каждому покупателю. Для этого:
>• в окно Конструктора запросов добавьте таблицы Заказы, Доставка и Клиенты;
>• поместите в бланк запроса поля Название из таблицы Клиенты, Название из таблицы Доставка и Код заказа;
>• задайте условия групповых операций: «Группировка» по первым двум полям и СОUNТ по Коду заказа;
>• выполните запрос, объясните результаты.
14.Дополните предыдущий запрос критерием, который включает
в выборку только те заказы, которые оформлены в 1995 г. и позже.
Для этого следует добавить в бланк запроса поле Дата заказа из таблицы «Заказы». В строке «Групповая операция» выберите пункт «Условие». В строке «Условие отбора» укажите условие на дату. Обязательно снимите флажок «Вывод на экран» для этого поля. Выполните запрос и проанализируйте результаты.
15.Выберите записи, стоимость перевозок, в которых превышает заданное значение.
16.Найдите записи, в которых для каждого вида доставки было оформлено более 5 заказов («Доставка» — «Группировка», Код заказа — СОUNТ, «Условие отбора» в поле Код заказа >=5).
Перекрестные запросы
1. Составьте запрос для выяснения: сколько туров организовано в
каждую страну в конкретный регион.
2. Составьте перекрестный запрос по теме: сколько туров начались в июле 2006 г. в разные страны.
3. Составьте перекрестный запрос для определения предпочтений клиентов разным регионам (сколько клиентов, в каком регионе побывали).
Задание 5. Модификация БД с помощью запросов на изменение
1. Откройте базу данных Туризм, содержащую четыре таблицы: Договоры, Клиенты, Сотрудники и Страны.
Запрос на создание
2. Создайте обобщенную таблицу Договоры по странам, включив в
нее следующие поля:
Из таблицы Договоры: Номер договора
Название клиента
Из таблицы Страны: Название страны;
Регион.
Для этого:
> создайте запрос на выборку этих данных, выполните его и проверьте результаты;
> если результаты корректны, то поменяйте статус у запроса: Запрос — Создание таблицы — укажите новое имя таблицы Договоры по странам;
>• выполните запрос с новым статусом еще раз;
>• перейдите на вкладку Таблицы и убедитесь, что появилась новая таблица. Просмотрите ее.
Запрос на обновление
3. Увеличьте Размер оклада у менеджеров по продажам на 15%.
Для этого:
>• составьте новый запрос на выборку, включив в него поля Фамилия, Должность и Размер оклада;
>• проверьте составленный запрос;
>• видоизмените запрос, установив ему статус «Обновление» (Запрос — Обновление). В появившейся в бланке запроса строке «Обновление» для поля Размер оклада внесите с помощью Построить выражение
[Размер оклада]* 1,15;
>• выполните запрос, подтвердите обновление; сохраните запрос, дав ему имя и обратив внимание на появившийся значок у его имени
; просмотрите результаты.Запрос на добавление
4.Создайте путем копирования дубликат таблицы Договоры без
данных, назвав ее Договоры 2005 года. Для этого в контекстном меню
для таблицы Договоры выберите Копировать, затем выполните команду Вставить, в параметрах вставки укажите «Только структуру». Просмотрите таблицу Договоры 2005 года — она должна быть пустой и иметь такую же структуру, как и таблица Договоры.
5.Отберите в таблицу Договоры 2005 года записи обо всех договорах этого года. Для этого:
>• создайте запрос на выборку, включив в него все поля таблицы Договоры в любой последовательности, и критерий по дате, выполните его для проверки правильности;
>• измените статус запроса на «Добавление», в появившемся окне задайте имя таблицы для добавления Договоры 2005 года, обратите внимание на появление строки «Добавление» в бланке запроса;
>• выполните запрос и подтвердите добавление; просмотрите результаты архивации и сохраните запрос, обратив внимание на значок у его имени.
Запрос на удаление
6.Удалите из таблицы Договоры записи о договорах 2005 года, используя копию сохраненного запроса на добавление в таблицу Договоры
2005 года, изменив его статус на «Удаление».
7.Сохраните БД в своей папке.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1.Что такое таблица?
2.Расскажите, как вы создавали таблицы (способы создания таблиц).
3.Покажите связи между таблицами и дайте понятие первичного ключа.
4.Назовите тип запроса и покажите его представителя в вашей БД.
ЛАБОРАТОРНАЯ РАБОТА 6
Цель. Освоение технологии конструирования и использования форм.
Задание 1. Работа с формами
Создание Автоформ
1. Откройте БД Туризм. Выберите на вкладке Таблицы таблицу Клиенты. Создайте для нее Автоформу. Оцените результаты.
2. Зарегистрируйте новые договоры, используя кнопку со звездочкой введите 1-2 новые записи.
3.Просмотрите в таблице новые данные командами Вид →Таблица и обратно и закройте ее с сохранением.
Создание формы с помощью Мастера
1. Создайте с помощью Мастера форм новую форму Сотрудники для одноименной таблицы. Включите в нее все поля исходной таблицы:
2.Выберите фон, на котором будут размещаться поля формы, перебрав в окне Мастера несколько вариантов оформления.
3.Завершите проектирование формы с помощью Мастера.
4.Перейдите в режим Конструктора. Вставьте Заголовок формы инструментом
.5.Измените мышью расположение и ширину полей заголовка и размещение данных. Вернитесь в режим просмотра форм командами Вид →Форма и оцените результаты. Добейтесь наилучших результатов размещения полей и заголовков формы.