Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК ПП1 (C++ БД).doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
5 Мб
Скачать
☆

Работа 2.6. Поля синхронного просмотра типа Lookup

[1], с.602-605; [3], с.406-410

Цель: Изучение способов связи полей по системе Lookup.

Результат: Получить интерфейс, аналогичный рис. 111.

Рис. 111. Поля типа LookUp

Последовательность действий.

  1. С помощью DBD добавьте к базе данных новую таблицу со структурой (рис .112).

Рис. 112. Структура таблицы «Предметы»

  1. С помощью DBD из таблицы tOtmetki удалите поле Predmet и добавьте новое поле KodPredmeta типа int.

  2. Добавьте к интерфейсу таблицу tPredmety, источник данных dsPredmety и сетку gPredmety.

  3. С помощью редактора полей таблицы FieldsEditor (правый щелчок по значку tOtmetki) удалите все старые поля и замените их всеми новыми, выбрав команду (по правой клавише) Add all fields. Получите список полей (ритс. 113).

Рис. 113. Поля таблицы «Отметки» после корректировки

  1. Создайте виртуальное поле ImyaPredmeta по команде NewField (правый щелчок по списку полей в FieldsEditor). Результат представлен на рис. 114, именно в это поле будут позднее подтягиваться данные из словаря предметов по общему для обеих таблиц коду предмета.

Рис. 114. Организация связи Lookup между таблицами tOtmetki и tPredmety

Внимание! Эту настройку надо сделать очень аккуратно в точном соответствии с рисунком. Естественно, имена полей могут отличаться.

После нажатия кнопки OK в списке поле появится новое поле (рис. 115), которое можно затем использовать почти так же, как если бы оно было физическим. Исключение состоит в том, что по виртуальным полям нельзя построить индекса и, следовательно, сделать сортировку.

Рис. 115. Поля таблицы «Отметки» после добавления виртуального поля ImyaPredmeta

  1. Добавьте виртуальное поле ImyaPredmeta к заголовку сетки gOtmetki (правый щелчок по заголовку вызывает редактора колонок Columns Editor).

  2. Скомпилируйте и запустите программу. При левом щелчке по полю «Предмет» в таблице «Отметки» в правом углу этого поля появится стрелочка, указывающая, что тут может появиться выпадающее меню (рис. 116).

Рис. 116. После левого щелчка в поле появляется стрелка выпадающего меню

Если щёлкнуть по этой стрелочке, появятся строки, взятые из таблицы «Список предметов». Щёлкая по этим строкам можно установить желательный предмет

Дальнейшее улучшение вида интерфейса, состава полей, метода их заполнения и т.д. студент производит самостоятельно как в рамках данной лабораторной работы, так и при выполнении курсового проекта. В частности, студенту предлагается продумать и реализовать задачу, каким образом в поле «Средний балл» таблицы «Список» занести значение средней оценки, полученной как средняя величина из таблицы «Оценки», если количество обязательных к сдаче предметов соответствует числу строк в таблице «Список предметов» ? Результат решения показан на рис. 117.

Рис. 117. Результат щелчка по кнопке «Средний балл»

Содержание отчёта: см.п. 3.5 «Требования к оформлению отчетов по лабораторным работам».