3123
.pdf.
Рис. 8.1. Ввод фиксированного набора значении для подстановки
в следующем появившемся окне Задайте подпись, которую содержит столбец подстановки - наберите Жанр (если все было выполнено последовательно, то подпись уже набрана автоматически) и щелкните по кнопке Готово.
! ОБРАТИТЕ ВНИМАНИЕ, ЧТО В СТОЛБЦЕ ТИП ДАННЫХ ЗНАЧЕНИЕ ОСТАЕТСЯ ТЕКСТОВЫЙ
4. Закройте и сохраните таблицу под именем ФИЛЬ-
МЫ.
Задание 6. Создайте в Режиме конструктора таблицу
"СЕАНСЫ"
|
|
Таблица 8.5 |
|
|
|
Имя поля |
Тип данных |
Свойства поля |
|
|
|
Дата |
Дата/время |
Краткий формат даты |
|
|
|
Время |
Текстовый |
Поле с подстановкой из фиксированного на- |
|
|
бора значений: 10:00, 13:00, 17:00, 20:00, |
|
|
23:30 |
Зал |
Текстовый |
Поле с подстановкой из таблицы ЗАЛЫ (в |
|
|
поля для подстановки включить код и наиме- |
|
|
нование зала и поле Работает) |
Фильм |
Текстовый |
Поле с подстановкой из таблицы ФИЛЬМЫ |
|
|
(поля Наименование, Жанр) ! НЕ СКРЫ- |
|
|
ВАТЬ ключевой столбец |
Свободные |
Числовой |
|
места |
|
|
91
Задание 7. Создайте схему данных, в которой между таблицами установлены связи (рис. 8.2):
|
|
|
Таблица 8.6 |
|
|
|
|
Основная таблица |
Связанная таб- |
Тип связи |
Обеспечение |
|
лица |
|
целостности |
|
|
|
|
КИНОТЕАТРЫ |
ЗАЛЫ (поле |
Один-ко- |
Обеспечение |
(поле Код) |
Кинотеатр) |
многим |
целостности: |
ЗАЛЫ (поле Код |
СЕАНСЫ (поле |
|
Каскадное |
зала) |
Зал) |
|
обновление, |
ФИЛЬМЫ (поле |
СЕАНСЫ (поле |
|
Каскадное |
Название фильма) |
Фильм) |
|
удаление |
|
|
|
|
ЗАКРОЙТЕ ВСЕ ОТКРЫТЫЕ ТАБЛИЦЫ.
Чтобы посмотреть существующие связи необходимо в главном меню выбрать вкладку Работа с базами данных
группу Отношения / Схема данных
Рис. 8.2. Схема данных
Вокне Схема данных (рис. 8.2) отображаются таблицы
исвязи между ними. Если отображаются не все таблицы, то надо щелкнуть правой кнопкой на сером поле и в контекстном меню выбрать одну из команд: Добавить таблицу... (воз-
92
можно Отобразить все). Чтобы удалить лишнюю таблицу - команда Скрыть таблицу в контекстном меню.
Определите все связи. Если поля подстановки создаются с помощью мастера подстановок, то связи между таблицами создаются автоматически. В противном случае связи задают вручную. Например, чтобы создать связь между таблицами
иЗАЛЫ надо:
в таблице КИНОТЕАТРЫ позиционироваться на
поле Код;
нажать на левую клавишу мыши и, не отпуская ее, перетащить появившийся значок на соответствующее поле Кинотеатр в «зависимой» таблице ЗАЛЫ;
появится диалоговое окно Связи, в котором представлен тип отношения - один-ко-многим;
при необходимости изменить тип и настройки связи, а затем закрыть окно.
Примечание. Чтобы удалить линию связи, ее надо выделить (выделенная линия становится жирной), а затем нажать клавишу Delete или выбрать соответствующую команду в контекстном меню.
Измените связи между таблицами с ограничениями целостности. Для этого дважды щелкните по линии связи и в меню Изменение связей задайте параметры:
включите Обеспечение целостности данных;
включите Каскадное обновление связанных полей
(в этом случае, при изменении названия кинотеатра в таблице КИНОТЕАТРЫ автоматически изменится соответствующая информация в таблице ЗАЛЫ);
включайте Каскадное удаление связанных полей,
чтобы удаление кинотеатра вело к удалению залов. Сохраните схему данных.
Задание 8. Заполните таблицу ЗАЛЫ данными (поле Код зала заполняется автоматически):
93
|
|
|
|
Таблица 8.7 |
|
|
|
|
|
|
|
Код |
Наименование |
Вмести- |
Работает |
Кинотеатр |
|
зала |
зала |
мость |
|
|
|
1 |
зал Relax |
44 |
Да |
СинемаПарк |
|
2 |
зал Jolly |
54 |
Да |
СинемаПарк |
|
3 |
зал IMAX |
487 |
Да |
СинемаПарк |
|
4 |
зал 4 |
141 |
Да |
СинемаПарк |
|
5 |
зал 5 |
141 |
Да |
СинемаПарк |
|
6 |
зал 6 |
286 |
Да |
СинемаПарк |
|
7 |
зал 7 |
300 |
Да |
СинемаПарк |
|
8 |
зал 8 |
189 |
Да |
СинемаПарк |
|
9 |
зал 9 |
189 |
Да |
СинемаПарк |
|
10 |
зал 10 |
189 |
Да |
СинемаПарк |
|
11 |
зал 1 |
431 |
Да |
Спартак |
|
12 |
зал 2 |
220 |
Да |
Спартак |
|
13 |
зал 3 |
157 |
Да |
Спартак |
|
14 |
зал 4 |
125 |
Да |
Спартак |
|
15 |
зал VIP I |
42 |
Да |
Спартак |
|
16 |
зал VIP II |
25 |
Да |
Спартак |
|
17 |
Большой зал |
568 |
Да |
Пролетарий |
|
18 |
Премьер зал |
192 |
Да |
Пролетарий |
|
Задание 9. Для ввода данных в таблицу ФИЛЬМЫ создайте автоформу в столбец АФИША
Форма представляет собой специальный формат экрана, используемый для ввода данных в таблицу и просмотра одной записи.
Любая форма строится на основе Access-таблицы, запроса. Можно создавать формы для работы одновременно с несколькими взаимосвязанными таблицами.
Существует несколько способов создания формы, в том числе и автоматический - режим Автоформа форма создается
94
автоматически. Изменить форму можно в режиме конструктора.
1.Выберете таблицу Фильмы, далее в основном меню Создание выберите вкладку Формы, а затем нажмите кнопку
Форма.
2.Появится форма для ввода и редактирования данных
(рис. 8.3).
Рис. 8.3. Форма в режиме заполнения
3. Добавьте данные о фильмах.
Чтобы добавить изображение, используя форму, надо:
Врежиме формы щелкните по рамке для изображения правой кнопкой и в контекстном меню выберите Добавить объект.
Впоявившемся окне установите переключатель в положение Создать из файла, с помощью кнопки Обзор найдите файл с фотографией и нажмите ОК.
Если фотография видна не полностью, надо изменить свойства рамки:
откройте форму в режиме конструктора; щелкните по рамке с фотографией правой кнопкой и
вконтекстном меню выберите Свойства;
на вкладке Макет (рис. 4.9) в поле Установка раз-
меров выбрать По размеру рамки.
95
Рис. 8.4. Изменение свойств рамки с изображением
Для просмотра структуры формы, перейдите в режим конструктора. При необходимости, измените расположение полей, размер или цвет шрифта и т.п.
Закройте и сохраните форму. Посмотрите, как изменилась таблица ФИЛЬМЫ.
Задание 10. С помощью формы АФИША заполните таблицу ФИЛЬМЫ данными, ориентируясь на сопроводительные карточки.
|
|
|
Таблица 8.8 |
|
|
|
|
|
|
Название |
Производство |
Год выпуска |
Жанр |
|
Kingsman: Зо- |
Великобритания |
2017 |
Боевик, комедия, |
|
лотое кольцо |
приключения |
|||
|
|
|||
мама! |
США |
2017 |
Ужасы, триллер, |
|
драма |
||||
|
|
|
||
Напарник |
Россия |
2017 |
Комедия, при- |
|
ключения |
||||
|
|
|
||
Заложники |
Россия |
2017 |
Драма |
|
Оно |
США |
2017 |
Ужасы |
|
… |
… |
… |
… |
Задание 11. Для таблицы СЕАНСЫ создайте одноименную автоформу.
Заполните таблицу СЕАНСЫ данными на свое усмотрение согласно правилам: в разных залах одного и того же ки-
96
нотеатра в одно и то же время идут разные фильмы; для неработающих залов сеансы не указывать; для заполнения выберите какой-нибудь один день.
ЧЕМ БОЛЬШЕ ЗАПИСЕЙ, ТЕМ ЛУЧШЕ
Задание 12. Создание запросов Запрос - это инструмент для анализа, выбора и измене-
ния данных.
Создаваемые запросы основаны на полях таблиц и/или запросов из БД. Большинство запросов можно создать с помощью Мастера запросов. Если созданный запрос не удовлетворяет требованиям, то можно подправить его в режиме Конструктора.
Запросы используются также в качестве источника данных для форм и отчетов.
Запросы с простыми условиями, включающими только один аргумент поиска, называются простыми запросами.
Если в условиях отбора используется несколько полей (сложный запрос), то они могут соединяться либо оператором And (И) или Ог (Или).
! Если операнды должны быть соединены оператором И, то они располагаются в одной строке Условие отбора. Если же они должны быть соединены оператором Или, то они располагаются в разных строках (Условие отбора и ИЛИ).
Запрос 1. В БД КИНОТЕАТР создайте запрос 01КОМЕДИЯ на выборку всех фильмов комедийного жанра. В результирующую таблицу включите все поля таблицы
ФИЛЬМЫ.
Вменю Создание выберите вкладку Запросы и коман-
ду Мастер запросов.
Впоявившемся меню выберите Простой запрос и нажмите кнопку ОК.
97
На первом шаге выберите таблицу ФИЛЬМЫ и все поля (рис. 8.5). Нажмите кнопку Далее.
Рис. 8.5. Выбор таблиц и полей для построения запроса
На следующем шаге задайте имя запросу - 01КОМЕДИЯ и установите переключатель в положение Из-
менить макет запроса, после чего нажмите кнопку Готово.
В результате появится окно Конструктора. В столбце
Жанр в строке Условие отбора задайте значение Комедия, а в столбце Афиша в строке Вывод на экран уберите флажок
(рис. 8.6).
Рис. 8.6. Запрос в режиме "Конструктор". Добавление условия отбора
98
Для выполнения запроса щелкните на кнопке Выполнить, расположенной на панели инструментов. Закройте и сохраните запрос.
Запрос 2. Создайте запрос 02США2013 на выборку всех фильмов из таблицы ФИЛЬМЫ, выпущенных в США в 2013 году. В результирующую таблицу включить поля Назва-
ние, Жанр, Производство, Год выпуска.
Запрос 3. Создайте запрос ОЗРоссияСША на выборку всех фильмов из таблицы ФИЛЬМЫ, выпущенных в США или России. В результирующую таблицу включить поля На-
звание, Производство, Год выпуска. Комментарии.
Условие отбора с союзом ИЛИ (Or), поэтому значения (Россия, США) записываем в две строки. Для столбцов Про-
изводство, Год выпуска в строке Сортировка включите режим По возрастанию.
Запрос 4. Создайте параметрический запрос 04ЖАНР, который по введенным данным - жанру - выдает список фильмов данного жанра. В результирующую таблицу включите все поля кроме поля Афиша из таблицы ФИЛЬМЫ.
Любым способом создайте запрос, в который включите указанные поля из таблицы ФИЛЬМЫ. Перейдите в режим конструктора и для поля Жанр в строке Условие отбора в квадратных скобках запишите приглашение [Введите жанр] (рис. 8.7).
Аналогично оформите поля Имя, Класс. Протестируйте запрос, введя какой-нибудь жанр (Ко-
медия, Драма, Боевик).
Рис. 8.7. Создание запроса с параметром
99
Запрос 5. Создайте параметрический запрос 05ПРОИЗВОДСТВО, который по введенным данным - стране - выдает список фильмов, выпущенных в данной стране. В результирующую таблицу включите все поля кроме поля Афиша из таблицы ФИЛЬМЫ.
Запрос 6. Создайте запрос 06СЕАНС10 на выборку всех фильмов, идущих во всех кинотеатрах на сеансе 10:00. В результирующую таблицу включите поля Время, Фильм из таблицы СЕАНСЫ и поле Название из таблицы КИНОТЕ-
АТРЫ.
Запрос 7. Создайте параметрический запрос 07КИНО, который по введенному времени сеанса выводит фильмы, которые идут. В результирующую таблицу включите поля Время, Фильм из таблицы СЕАНСЫ, поле Название из таблицы КИНОТЕАТРЫ, все поля, кроме Афиша из таблицы ФИЛЬМЫ. Переставьте поля в запросе (рис. 8.8), задайте сортировку по полю Название.
Рис. 8.8. Запрос в режиме "Конструктор"
Запрос 8. Скопируйте запрос 07КИНО и переименуйте его в 08ЦЕНА.
100