Изменение вида подчиненной формы

1. Закройте главную форму и откройте подчиненную в режиме конструктора.

2. Откройте окно Свойства формы (см. практикум 6.4.3, задание 4).

3. На вкладке Макет установите свойство Режим по умолчанию – Одиночная форма.

4. Разместите надписи и поля Фамилия, Имя, Отчество в области данных.

5. Увеличьте размеры области данных для вставки следующей подчиненной формы.

Создание второй подчиненной формы

1. На Панели элементов выберите инструмент Подчиненная форма Изменение вида подчиненной формы - student2.ru .

2. Вытяните прямоугольник на свободном пространстве в области данных. Начнет работать Мастер подчиненных форм.

3. На первом шаге отметьте переключатель Имеющиеся таблицы и запросы.

4. На следующем шаге выберите

· из таблицы Оценка выберите поля Код ПД, Семестр, Дата сдачи;

· из таблицы Преподаватель-Дисциплина Код дисцилины, Код преподавателя;

· из таблицы Оценка Вид контроля, Оценка. Далее.

5. На следующем шаге оставьте предлагаемые установки без изменений.

6. На следующем шаге введите имя подчиненной формы – Оценки группы (Оценки-подч). Готово.

7. Закройте форму Оценки группы (Оценки-подч) и откройте главную форму в режиме просмотра.

8. Найдите кнопки перехода от записи к записи для главной формы, первой подчиненной и второй подчиненной.

9. Посмотрите, какие недочеты в расположении и размерах объекта и отредактируйте их, сначала в подчиненных формах, потом в главной.

Изменение вида подчиненной формы - student2.ru

Рис. 3. Форма Оценки группы

Задание 6. Создание копии составной формы

Составная форма содержит данные из двух (и более) таблиц, имеющих связи 1:М. При этом главная таблица содержит данные из таблицы со стороны связи 1, а подчиненная - данные со стороны связи М.

Для составных форм можно обеспечить следующие уровни доступа к данным:

· полный доступ (добавление, изменение, удаление) к данным и главной и подчиненной форм;

· только просмотр данных главной формы и просмотр и ввод данных подчиненной формы;

· только просмотр данных главной формы и только ввод данных подчиненной формы;

· только просмотр данных главной и подчиненной форм.

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

Создать копию составной формы Студенты-Оценки и установить для нее свойство ТОЛЬКО ПРОСМОТР данных.

Технология работы

1. В области перехода перейдите в окно Форма.

2. Выберите форму Студент и Оценки.

3. Скопируйте форму Студент и Оценки в буфер обмена.

4. Вставьте копию и задайте ей имя Студент и Оценки(просмотр).

5. Скопируйте подчиненную форму Студент и Оценки(подч) в буфер обмена.

6. Вставьте копию. При выполнении вставки введите новое имя формы Студент и Оценки(подч-просмотр).

7. Откройте форму Студент и Оценки(просмотр). Она содержит подчиненную форму. Источником данных для подчиненной формы ПОКА является форма Студент и Оценки(подч). Надо изменить источник данных.

8. Перейдите в режим конструктора. Выделите подчиненную форму как объект (желтые маркеры). Правой кнопкой щелкните на любой маркер выделения подчиненной формы и выберите пункт Свойства. Откроется окно свойств подчиненной формы как объекта (ВНИМАНИЕ! Это не окно свойств подчиненной формы как таковой).

9. Перейдите на вкладку Данные.

10. В строке Объект-источник выберите форму Студент-Оценки(подч-просмотр). Закройте окно свойств подчиненной формы.

11. Откройте окно свойств главной формы. Для свойств Разрешить изменение, Разрешить удаление, Разрешить добавление установите значения Нет.

Задание 7. Установление для составных форм свойств ТОЛЬКО ПРОСМОТР и ТОЛЬКО ВВОД данных

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

В задании 3 была создана составная форма Студент и Оценки, в которой по умолчанию были установлены свойства просмотр, изменение, удаление и добавление оценок полученных конкретным студентом. Эта же форма позволяет ввести некоторые данные о новом студенте, но делать это нельзя так как

· во-первых, в форму включены не все поля из таблицы Студент;

· во-вторых, по жизненному циклу базы данных, данные о студенте заносятся в базу при его поступлении в институт, т.е. в форму Студент-форма, а оценки вводятся только после сессии, т.е. спустя некоторое время. Поэтому к моменту внесения оценок, данные обо всех студентах уже должны быть занесены.

· в-третьих, в форму не включены некоторые поля, объявленные обязательными и поэтому, если они не будут заполнены, то среда просто не позволить сохранить эти данные.

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

Для формы Студент и Оценки необходимо обеспечить просмотр данных о студенте и ввод оценок.

Технология работы

1. Откройте форму Студент и Оценки в режиме конструктора.

2. Правой кнопкой щелкните на поле Фамилия в главной форме. В контекстном меню выберите пункт Свойства. Откроется окно свойств объекта «поле».

3. На вкладке Данные найдите строку Блокировка и установите в ней значение Да.

4. Проделайте те же действия для других полей главной формы.

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

Задание 8. Для самостоятельной работы

Для составной формы Оценки группы обеспечьте только ПРОСМОТР данных для главной формы и подчиненной формы Оценки группы (Студент-подч).

Задание 9. Вычисляемые поля в формах

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

Для вычисления общего значения по группе записей можно использовать форму, содержащую подчиненную форму. Главная форма и подчиненная форма созданы на основе таблиц с отношением «один-ко-многим».

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

Технология работы

1. Откройте подчиненную форму Оценки группы(Оценки-подч) в режиме конструктора.

2. Найдите заголовок области примечаний формы. Возможно область примечаний имеет нулевые размеры.

3. Увеличьте размер области примечаний.

4. В области примечаний формы создайте новое поле (инструмент Поле в группе Элементы управления (Вкладка Конструктор).

5. Откройте окно Свойства поля и выберите вкладку Данные.

6. В строке Данные введите формулу =Avg([Оценка]) либо вручную, либо с помощью построителя выражений (функция Avg означает Среднее).

Примечание.

Технология создания формул с помощью построителя выражений описана ниже.

7. На вкладке Другие введите имя поля – Средняя. Закройте окно свойств.

8. Измените надпись для поля – Средняя.

9. Создайте еще одно расчетное поле с формулой = Count ([Оценка]), которое подсчитывает количество оценок студента. Назовите это поле и соответствующую ему надпись Количество.

10. Перейдите в режим просмотра формы. Поскольку форма имеет табличный вид, то результаты расчета не отображаются. Закройте форму.

11. Откройте форму Оценки группы(Студенты-подч), которая является главной по отношению к форме Оценки группы(Оценки-подч) в режиме конструктора.

12. В области данных главной формы создайте новое поле. В окне Свойства поля на вкладке Данные в строке Данные введите формулу

=[Оценки группы(Оценки-подч)].[Form]![Средняя],

которая является ссылкой на расчетное поле Средняя подчиненной формы Оценки группы(Оценки-подч). Для этого можно использовать построитель выражений.

13. Введите поясняющую надпись для поля – Средняя оценка.

14. Создайте еще одно поле – Количество оценок – с формулой

=[Оценки группы(Оценки-подч)].[Form]![Количество],

которая является ссылкой на расчетное поле Количество подчиненной формы Оценки(подч) .

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

16. Откройте главную форму Оценки группы и посмотрите, как там отображается это расчетное поле.

Наши рекомендации