- •Практическое занятие № 3 Лабораторная работа № 2. Создание форм для ввода, редактирования и просмотра данных
- •Задание 1. Разработать форму для просмотра и ввода данных в таблицы, в которых нет полей связи, не являющихся первичным ключом
- •Задание 2. Разработать форму для просмотра и ввода данных в таблицы, в которых имеются поля связи, не являющиеся первичным ключом.
- •Реализация функции ввода данных в таблицу посредник:
- •3.3.2. Действие 2: Записываем значения полей связи в таблицу-посредник.
- •3.2. Действие 2. Ищем запись, которую нужно удалить (выбранную пользователем в подчиненной форме).
3.3.2. Действие 2: Записываем значения полей связи в таблицу-посредник.
Вызываем метод добавления новой записи в таблицу
MyTable.AddNew
MyTable – имя переменной, которая была использована для открытия таблицы-посредника
AddNew – метод добавления новой записи
Определяем значение поля связи таблицы-посредника с таблицей-источником данных создаваемой формы:
MyTable!ИмяПоляСвязиВТаблицеПосреднике = ИмяЭлементаУправления.Value
MyTable – имя переменной, которая была использована для открытия таблицы-посредника
ИмяПоляСвязиВТаблицеПосреднике – имя поля связи таблицы-посредника с таблицей-источником данных создаваемой формы
ИмяЭлементаУправления – имя элемента управления, связанного на создаваемой форме с ключевым полем таблицы-источника данных
Определяем значения полей связи таблицы-посредника, полученные от пользователя (таких строк должно быть столько, сколько полей связи в таблице-посреднике):
MyTable!ИмяПоляСвязи1 = ИмяПоляСоСписком1.Value
MyTable – имя переменной, которая была использована для открытия таблицы-посредника
ИмяПоляСвязи1 - имя поля связи таблицы-посредника
ИмяПоляСоСписком1 – имя, которое Вы дали полю со списком, соответствующему данному полю связи
Вызываем метод подтверждения внесенных изменений
MyTable.Update
MyTable – имя переменной, которая была использована для открытия таблицы-посредника
Update – метод подтверждения изменений
3.3.3. Действие 3: Отображаем внесенные изменения в подчиненной форме.
ИмяПодчиненнойФормы.Requery
ИмяПодчиненнойФормы – имя подчиненной формы, которое Вы ей дали
Requery – метод обновления содержимого подчиненной формы
4. Перейдите в режим формы и проверьте работоспособность созданной процедуры.
ВНИМАНИЕ: Созданная нами процедура не содержит защиты от неправильных действий, поэтому: 1. Не нажимайте на кнопку «Добавить», если остальные поля формы не заполнены; 2. Не нажимайте на кнопку «Добавить», если значения полей связи не выбраны.
Реализация функции удаления данных из таблицы-посредника:
Для полноценного использования созданной формы необходимо реализовать также функцию удаления ошибочно добавленных или потерявших актуальность данных из таблицы посредника.
1. Добавьте на форму рядом с подчиненной формой элемент управления Кнопка. При этом откроется окно мастера создания кнопок. Откажитесь от его услуг, нажав кнопку Отмена. В окне свойств задайте имя созданной кнопки. Запомните это имя. Измените надпись на кнопке на «Удалить».
2. Нажатие на созданную кнопку «Удалить» будет инициировать процесс удаления записи. Соответствующую последовательность действий необходимо связать с событием нажатия на эту кнопку. Для этого создайте процедуру ИмяКнопки_Click, где ИмяКнопки – имя, заданное Вами в п. 1.
3. Запишите в тело созданной процедуры последовательность действий для удаления записи из таблицы-посредника.
3.1. Действие 1. Открыть таблицу-посредник для редактирования.
Описываем переменную для открытия таблицы:
Dim MyTable as DAO.Recordset
Dim – оператор, предваряющий описание локальной переменной
as – служебное слово, за которым указывается тип данных, для хранения которых предназначена переменная
MyTable – имя переменной
DAO.Recordset – тип данных – набор записей из таблицы или запроса
Открываем таблицу:
Set MyTable=Currentdb.OpenRecordset(“ИмяТаблицы”, dbOpenDynaset)
Set – оператор, предваряющий открытие таблицы
MyTable – имя переменной для открытия таблицы
Currentdb – текущая база данных – метод, позволяющий получить доступ ко всем объектам базы данных
OpenRecordset – метод, позволяющий открыть для просмотра и редактирования таблицу или запрос
«ИмяТаблицы» - имя таблицы-посредника
dbOpenDynaset – параметр, означающий, что таблица открывается и для просмотра, и для редактирования