Š Составная форма содержит два набора кнопок: один — для перемещения по записям в основной форме (то есть по кассетам), другой — для перемещения по записям в подчиненной форме (то есть по фильмам, записанным на текущей кассете). Для того, чтобы с помощью клавиатуры перейти из подчиненной формы в основную, надо использовать комбинации [Ctrl]+[Tab] (переход к следующей записи в основной форме) и [Ctrl]+[Shift]+[Tab] (переход к текущей записи в основной форме).

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

A5–3. В существующей базе данных «Видео» разработать на основе связанных таблиц «Фильмы» и «Кассеты» (см. упражнение A5–1) составной отчет «Кассеты и фильмы» и отформатировать его по образцу.

Решение

Создайте новый простой отчет на основе таблицы «Кассеты» (см. первое примечание к 4.1); этот отчет будет играть роль основного отчета. В созданном отчете отформатируйте подписи к полям и расположите поля в одну линию, как указано в образце; поля «Ном» и «Длит» отцентрируйте. Откорректируйте нижний колонтитул по образцу (см. 4.9), измените заголовок отчета на Кассеты и фильмы и сохраните отчет под этим же именем (см. 5.1).

В качестве заготовки для подчиненного отчета удобно использовать имеющийся отчет «Фильмы (названия)» (см. упражнение A4–1), сохранив его под новым именем. Для этого выполните следующие действия.

НЕ нашли? Не то? Что вы ищете?

5.3. Сохранение отчета под новым именем: в окне базы данных перейдите к группе объектов «Отчеты», выделите отчет «Фильмы (названия)»,
«Файл | Сохранить как/экспорт...» («Файл | Сохранить как...» в Access 2000/XP), в появившемся окне введите новое имя Фильмы (подчиненный отчет) (в версии Access 97, кроме того, выберите вариант «В текущей базе данных»), [OK].

5.4. Удаление разделов заголовков, примечаний и колонтитулов в подчиненном отчете: перейдите в режим конструктора для отчета «Фильмы (подчиненный отчет)», снимите флажок рядом с командой меню «Вид | Заголовок/примеча­ние отчета», в появившемся окне подтвердите удаление данных разделов, нажав кнопку [Да]; затем снимите флажок рядом с командой меню «Вид | Колонтитулы», в появившемся окне подтвердите удаление колонтитулов, нажав кнопку [Да].

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

Сохраните откорректированный отчет «Фильмы (подчиненный отчет)» (см. 1.5) и закройте его (см. 4.10).

5.5. Включение в подчиненный отчет поля связи: откройте в режиме конструктора запрос «Фильмы (названия)», на котором основан отчет «Фильмы (подчиненный отчет)», и поместите на бланк запроса еще одно поле:
«НомКас» (см. 3.2). После этого сохраните измененный запрос (см. 1.5) и закройте его (см. 1.16). Заметим, что поле «НомКас» не используется при отображении подчиненного отчета, но оно необходимо для установления связи между основным и подчиненным отчетом.

5.6. Включение в основной отчет подчиненного отчета с помощью панели элементов: откройте основной отчет «Кассеты и фильмы» в режиме конструктора (см. первое примечание к 1.15) и отобразите на экране вспомогательное окно «Панель элементов», выполнив команду «Вид | Панель элементов» или нажав кнопку . Отожмите кнопку на этой панели. Увеличьте высоту раздела «Область данных» в макете отчета, нажмите на панели элементов кнопку и щелкните мышью в нижней части раздела «Область данных». В результате в отчет будет вставлен элемент типа «Подчиненный отчет», однако пока этот элемент не будет связан с каким-либо из имеющихся в базе данных отчетов. Измените связанный с подчиненным отчетом элемент-надпись на Фильмы (элемент-надпись расположен выше рамки подчиненного отчета).

Š Упростить вставку в форму или отчет сложных элементов может мастер вставки (если он был инсталлирован в процессе установки системы Access). Для активизации мастера при вставке элемента необходимо, чтобы кнопка на панели элементов была «вдавленной» (нажатой); в этом случае в момент вставки элемента в форму/отчет на экране появляется окно, позволяющее в диалоговом режиме установить основные свойства добавляемого элемента.

5.7. Настройка свойств подчиненного отчета: вызовите окно свойств подчиненного отчета (см. 2.8), перейдите на вкладку «Данные» и определите свойство «Объект-источник», выбрав из выпадающего списка вариант «Отчет. Фильмы (подчиненный отчет)». В свойство «Подчиненные поля» введите НомКас, в свойство «Основные поля» введите Ном. Закройте окно свойств.

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

Повторно сохраните откорректированный отчет «Кассеты и фильмы» и закройте базу данных (см. 1.17).

A5–4. Дополнить существующую базу данных «Магазин» (см. упражнение A1–3), создав новые таблицы «Товары» и «Продажи» (см. таблицы 5 и 6 в приложении). Связать таблицы «Клиенты» и «Продажи» с помощью полей «Ном» (таблица «Клиенты») и «НомКли» (таблица «Продажи»), а таблицы «Товары» и «Продажи» — с помощью полей «Ном» (таблица «Товары») и «НомТов» (таблица «Продажи»). Заполнить таблицы «Товары» и «Продажи» данными, указанными в таблицах 5 и 6 приложения. Для заполнения таблицы «Товары» разработать ленточную форму «Товары» по образцу.

Указание

После установления связей между таблицами (см. 5.1) схема данных должна выглядеть следующим образом:

Š Необходимость во вспомогательной таблице «Продажи» возникает из-за того, что записи таблиц «Клиенты» и «Товары» находятся в отношении «Многие ко многим» (многие клиенты могут купить один и тот же товар, и многие товары могут быть куплены одним клиентом), — сравните с отношением типа «Один ко многим» (см. упражнение A5–1).

A5–5. В существующей базе данных «Магазин» разработать на основе связанных таблиц «Клиенты», «Товары» и «Продажи» (см. упражнение A5–4) составную форму «Клиенты и продажи», позволяющую вводить данные в таблицы «Клиенты» и «Продажи».

Указания

Создаваемая форма не предназначена для заполнения таблицы «Товары» (для этого имеется специальная форма «Товары» — см. упражнение A5–4). Тем не менее, в целях повышения наглядности, желательно, чтобы вместе с номером купленного товара в подчиненной форме отображались и его характеристики, взятые из таблицы «Товары» («Наименование», «Фирма», «Цена»), без возможности их корректировки. Для этого подчиненную форму необходимо создать не на основе обычной таблицы «Продажи», а на основе вспомогательного запроса, объединяющего данные из таблиц «Продажи» и «Товары».

5.8. Формирование запроса на основе двух таблиц: создайте новый запрос, включив в него таблицы «Продажи» и «Товары» (см. 3.1); при этом в окне конструктора запросов будут отображены не только окна таблиц, но и связи между ними. Поместите на бланк запроса все поля таблицы «Продажи» и следующие поля таблицы «Товары»: «Наим», «Фирма», «Цена» (см. 3.2). Установите сортировку поля «Продажи. Ном» по возрастанию (см. 3.3) и сохраните запрос под именем Продажи и товары (см. 1.5).

Создайте на основе запроса «Продажи и товары» ленточную автоформу (см. 2.2); эта форма будет играть роль подчиненной формы. Откорректируйте форму следующим образом:

·  удалите поле «НомКли» (отображать это поле нет необходимости, поскольку данные о клиенте будут выводиться в основной форме);

·  не меняя внешнего вида, отключите возможность редактирования полей «Наим», «Фирма» и «Цена» (см. прием 2.10 и примечание к нему), так как эти поля будут использоваться только как информационные.

Созданную форму сохраните под именем Продажи (см. 1.5). Для того, чтобы сделать ввод данных в поле «НомТов» формы «Продажи» более удобным, выполните следующие действия.

5.9. Дополнительные возможности, связанные с выпадающими списками: преобразуйте поле «НомТов» в выпадающий список (см. 2.7) и определите его следующие свойства (ср. с 2.9):

Вкладка

Свойство

Значение

Данные

Тип источника строк

Таблица/запрос

Данные

Источник строк

Товары

Данные

Ограничиться списком

Да

Макет

Число столбцов

4

Макет

Заглавия столбцов

Да

Макет

Ширина столбцов

0,5;2;2;1

Благодаря сделанным настройкам, в поле «НомТов» можно вводить только номера, имеющиеся в таблице «Товары» (так как свойство «Ограничиться списком» имеет значение «Да»). При разворачивании списка в нем отображаются не только номера товаров, но и их характеристики, взятые из таблицы «Товары» (выпадающий список состоит из 4 столбцов, причем столбцы списка снабжаются названиями полей: «Ном», «Наим», «Фирма» и «Цена»). Ширина каждого столбца в выпадающем списке определяется в свойстве «Ширина столбцов» (соответственно 0,5 см, 2 см, 2 см, 1 см). Для отображения последнего столбца в выпадающем списке используйте полосу прокрутки в нижней части списка.

В качестве заготовки для основной формы можно использовать ранее созданную форму «Клиенты (комбинированная форма)» (см. упражнение A2–3). Создайте ее копию под именем Клиенты и продажи (копии форм создаются так же, как и копии отчетов — см. 5.3), измените ее режим отображения на «Простая форма» (см. 2.21) и включите в нее подчиненную форму «Продажи», используя либо перетаскивание (см. 5.2), либо панель элементов (см. 5.6).

Š Форму «Клиенты и продажи» можно сделать еще более наглядной, если внести следующие изменения в подчиненную форму «Продажи»: удалите из нее столбец «Наименование», замените заголовок «Номер товара» на «Наименование» и в свойстве «Ширина столбцов» выпадающего списка «НомТов» замените первое число на 0: 0;2;2;1 (теперь первый столбец выпадающего списка имеет нулевую ширину, и, поскольку он не отображается, в поле выпадающего списка выводится значение из второго столбца, то есть наименование товара).

A5–6. В существующей базе данных «Магазин» разработать на основе связанных таблиц «Клиенты», «Товары» и «Продажи» (см. упражнение A5–4) составной отчет «Клиенты и продажи» по образцу.

Указания

В качестве источника данных для подчиненного отчета используйте запрос «Продажи и товары» (см. 5.8). Для того, чтобы в основном отчете данные из подчиненного отчета обрамлялись рамкой, вызовите окно свойств элемента «Подчиненный отчет» (см. 2.8) и на вкладке «Макет» в свойстве «Тип границы» выберите вариант «Сплошная».

Приложение
Таблицы учебных баз данных

Таблица 1. Фильмы

Ном

Назв

Страна

Жанр

Длит

ДатаЗап

НомКас

1

Красавица и чудовище

США

Мультфильм

85

15.07.97

1

2

Правдивая ложь

США

Боевик

130

23.09.98

2

3

Русалочка

США

Мультфильм

80

30.07.97

1

4

Кавказская пленница

Россия

Комедия

80

23.11.98

3

5

Винни-Пух (3 серии)

Россия

Мультфильм

45

24.07.97

4

6

Крокодил Гена (4 серии)

Россия

Мультфильм

40

27.07.97

4

7

Профессионал

Франция

Боевик

105

06.02.98

2

8

Титаник

США

Мелодрама

185

5

9

Игрушка

Франция

Комедия

95

02.04.99

6

10

Зита и Гита

Индия

Мелодрама

100

24.12.98

7

11

Берегись автомобиля

Россия

Комедия

90

17.02.99

3

12

Ромео и Джульетта

США

Мелодрама

135

09.04.99

7

13

Невезучие

Франция

Комедия

100

15.02.00

6

14

Снежная королева

Россия

Мультфильм

30

18.03.98

4

15

Отпетые мошенники

США

Комедия

110

8

Таблица 2. Гимнастика

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5