- •Практическое занятие № 3 Лабораторная работа № 2. Создание форм для ввода, редактирования и просмотра данных
- •Задание 1. Разработать форму для просмотра и ввода данных в таблицы, в которых нет полей связи, не являющихся первичным ключом
- •Задание 2. Разработать форму для просмотра и ввода данных в таблицы, в которых имеются поля связи, не являющиеся первичным ключом.
- •Реализация функции ввода данных в таблицу посредник:
- •3.3.2. Действие 2: Записываем значения полей связи в таблицу-посредник.
- •3.2. Действие 2. Ищем запись, которую нужно удалить (выбранную пользователем в подчиненной форме).
Задание 2. Разработать форму для просмотра и ввода данных в таблицы, в которых имеются поля связи, не являющиеся первичным ключом.
1. Для выполнения этого задания выберите таблицу, в которой имеются поля связи, не являющиеся первичным ключом. Это не должна быть таблица, связанная с другими через таблицу-посредник.
2. Выполните п. 2-6 задания 1.
3. Выполните п. 8 задания 1 для всех полей, кроме полей связи, не являющихся первичным ключом.
4. Для каждого поля связи, не являющегося первичным ключом:
4.1. Поместите на форму элемент управления Поле со списком (кнопка на вкладке Конструктор в группе Элементы управления). При этом появится окно мастера «Создание полей со списком». Выберите первый способ получения значений этим полем: объект «поле со списком будет использовать значения из таблицы или запроса» (рис. 3). Нажмите кнопку Далее.
Рис. 3. Мастер создания полей со списком. Шаг 1.
4.2. В появившемся списке выберите таблицу, связанную с источником данных создаваемой формы полем связи (рис. 4). Нажмите кнопку Далее.
Рис. 4. Мастер создания полей со списком. Шаг 2.
4.3. В следующем окне появится список полей связанной таблицы. Укажите поля, которые нужно включить в поле со списком (рис. 5). Это должно быть поле связи с таблицей - источником данных создаваемой формы, а также поле, содержащее соответствующую полю связи информацию. Добавлять поля нужно именно в этом порядке. Нажмите кнопку Далее.
Рис. 5. Мастер создания полей со списком. Шаг 3.
4.4. В следующем окне можно задать порядок сортировки. Укажите информативное поле (не поле связи). Нажмите кнопку Далее.
4.5. В следующем окне (рис. 6) задайте ширину списка так, чтобы в нем разместилась вся необходимая информация. Поставьте флажок «Скрыть ключевой столбец». Нажмите кнопку Далее.
Рис. 6. Мастер создания полей со списком. Шаг 5.
4.6. В следующем окне (рис. 7) необходимо связать созданный элемент управления с данными. Выберите действие «Сохранить в поле» и укажите поле связи таблицы – источника данных создаваемой формы (рис. 7). Нажмите кнопку Далее.
Рис. 7. Мастер создания полей со списком. Шаг 6.
4.7. В следующем окне введите текст надписи, связанной с созданным полем. Нажмите кнопку Готово.
4.8. Перейдите в режим формы и проверьте функциональность созданного элемента управления.
4.9. Вернитесь в режим конструктора и повторите п. 4.1-4.8 для остальных полей связи.
5. Запретите пользователям Вашей формы изменять значение первичного ключа.
6. Сохраните созданную форму.
7. Перейдите в режим формы. Заполните данными таблицу – источник, используя созданную форму.
8. Аналогичным образом создайте формы для других таблиц, в которых имеются поля связи, не являющиеся первичным ключом. Заполните их данными, используя созданные формы.
ЗАДАНИЕ 3. Разработать форму для просмотра и ввода данных в таблицы, связанные с другими таблицами через таблицы-посредники.
Для выполнения этого задания выберите таблицу, связанную с другой таблицей через таблицу-посредник.
Реализация функции просмотра данных и ввода данных в таблицу источник:
1. Создайте запрос данных из связанной с источником данных таблицы.
1.1. Вызовите конструктор запросов, нажав кнопку Конструктор запросов (вкладка Создание, группа Другие).
1.2. Щелкните правой кнопкой мыши по верхней области открывшегося окна и в появившемся меню выберите пункт «Добавить таблицу» (рис. 8).
Рис. 8. Конструктор запросов. Вызов диалога добавления таблиц.
1.3. В появившемся диалоговом окне добавьте в запрос таблицу-посредник и таблицу (таблицы), связанные с ней, за исключением таблицы – источника данных для создаваемой формы. Выбранные таблицы появятся в верхней части окна конструктора. Закройте диалоговое окно.
1.4. Укажите поля выбранных таблиц, которые нужно включить в создаваемый запрос: ключевое поле таблицы-посредника, поле связи таблицы-посредника с таблицей-источником данных, а также поля связи таблицы-посредника с другими таблицами и соответствующие им данные из других таблиц (рис. 9). Поля добавляются в запрос двойным щелчком мыши по имени нужного поля. Добавленные поля появляются в столбиках в нижней части конструктора запросов.
Рис. 9. Конструктор запросов. Добавление полей.
1.5. Проверьте результат выполнения запроса, перейдя в режим таблицы (вкладка Главная, группа Режимы).
1.6. Сохраните созданный запрос, запомните присвоенное ему имя.
2. Создайте новую форму и расположите на ней все поля, кроме полей, связанных с таблицей-посредником, так же как при выполнении заданий 1 и 2.
3. Поместите на разрабатываемую форму элемент управления Подчиненная форма (рис. 10).
Рис. 10. Расположение элемента Подчиненная форма на вкладке Конструктор.
3.1. В открывшемся окне мастера подчиненных форма укажите, что форма будет использовать в качестве источника данных запрос (рис. 11). Нажмите кнопку Далее.
3.2. В следующем окне в списке «Таблицы и запросы» укажите созданный в п. 2 запрос и выберите все его поля для отображения (рис. 12). Нажмите кнопку Далее.
Рис. 11. Мастер подчиненных форм. Шаг 1.
Рис. 12. Мастер подчиненных форм. Шаг 2.
3.3. В следующем окне выберите пункт самостоятельное определение и укажите слева поле связи таблицы - источника данных, а справа поле связи таблицы-посредника (рис. 13). Нажмите кнопку Далее.
3.4. В следующем окне задайте подпись для подчиненной формы. Нажмите кнопку Готово.
3.5. В окне свойств задайте имя подчиненной формы. Запомните его.
Рис. 13. Мастер подчиненных форм. Шаг 3.
4. Сохраните форму. Полученная форма способна выполнять функцию просмотра данных в таблице-источнике и таблице-посреднике, а также ввода данных в таблицу-источник.
Однако часть данных об объектах, описываемых записями таблицы-источника, хранится в таблице-посреднике. Задачу ввода данных в таблицу-посредник нужно решать отдельно. Сложность заключается в том, что в таблицах-посредниках нет полей, содержащих понятную пользователю информацию. Они, как правило, состоят исключительно из полей связи.