Список предметов
Создание форм Access для редактирования данных
12 / 16

Цель работы: приобрести умения и навыки создания форм для редактирования таблиц с данными MS Access.

В качестве примера возьмем базу данных по депозитам.

Внешний вид структурированной базы данных access

Использование мастера создания форм в Microsoft Access

Разумеется, Access позволяет создать форму ввода данных "с нуля", практически поэлементно, так как хочет пользователь. Однако, в большинстве случаев - это нерационально, поскольку программа позволяет существенно упростить и автоматизировать данный процесс, экономя время и усилия пользователя. Поэтому, для того, чтобы создать форму мы воспользуемся мастером форм. Он находится во вкладке “Создание”

Панель инструментов Microsoft Access для создания форм редактирования данных

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

Выбор таблицы для создания формы редактирования данных в мастере форм MS Access

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

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

Диалог выбора полей, которые будут доступны в форме редактирования содержимого таблицы MS Access

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

В итоге получаем нужную нам форму в таком виде:

Внешний вид редактора форм ввода данных MS Access

Если бы таблица со списком договоров была бы "независимой", то на данном этапе можно было бы и закончить. Однако, если вспомнить, что наша база данных в своей структуре была нормализована, то мы выясним, что таблица договоров не содержит непосредственных данных о лице, с которым был заключен данный договор, а лишь ссылку на него. То есть таблица логически связана с другой таблицей и нам эту связь нельзя нарушить. 

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

Контекстное меню редактирования поля формы ввода данных MS Access

В данном случае, мы выбираем пункт меню "поле со списком", сообщая Microsoft Access, что мы хотим изменить способ редактирования поля таблицы. Мы хотим, чтобы пользователь выбирал необходимое значение поля из предлагаемого ему списка.

Данную операцию проделаем для трех последних полей ("Договор с юр.лицом", "Договор с физ. лицом" и "Условия депозита"). Получаем такой результат:

Форма редактирования содержимого таблицы Access, в которой часть полей предполагает ввод данных через выпадающий список

Тем не менее, чтобы обеспечить связь данных с другими таблицами Access, нужно сообщить программе, какими значениями нужно заполнить каждый из списков. Чтобы эти поля с выпадающими списками "заработали", нужно задать в свойствах источник данных. Для этого нужно навести курсор мыши на нужное нам поле со списком и выбрать в появившемся меню пункт “Свойства”.

Контекстное меню для редактирование свойств поля ввода в виде выпадающего списка в MS Access

Открывается окно, которое содержит свойства поля с выпадающим списком, которое позволяет сообщить программе (Microsoft Access), какими именно данными мы хотим данный список заполнить и в каком именно режиме осуществлять редактирование, как выглядит обработка ошибок и т.д.

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

Форма редактирования свойств выпадающего списка Access, которая задает его свойства

Перед нами стоит задача связать таблицу договоров и юридических лиц по коду ОКПО. Но пользователю неудобно выбирать код ОКПО. С точки зрения удобства работы правильнее было бы предоставлять список юридических лиц, а после того, как пользователь выберет юридическое лицо, вместо его наименования записать в поле БД (Базы данных) код ОКПО. То есть произвести замену представления данных незаметно для пользователя.

Для решения этой задачи выбираем таблицу "Юрлица" и нажимаем на кнопку с тремя точками "...", которая находится рядом с кнопкой открытия выпадающего списка.

Открывается построитель запросов:

Внешний вид построителя запросов к таблице Microsoft Access

Нам нужно чтобы в выпадающем списке было наименование Юридического лица и его код ОКПО. Для этого в строке поле выбираем с начала наименование юр лица а потом в следующем столбце выбираем код ОКПО. Сохраняем полученный результат.

Свойства выпадающего списка поля таблицы Access, в котором заданы параметры заполнения списка из результатов запроса к другой таблице

Переходим к окну свойств. Так как у нас 2 присоединенных столбца (запрос возвращает одновременно два поля) нам нужно это указать в окне свойств. Во вкладке “Данные” в поле присоединенный столбец ставим цифру 2 (2 присоединенных столбца). 

Переходим во вкладку “Макет”

Редактирование внешнего вида (свойств) макета поля, представляющего собой выпадающий список в Access

И в поле число столбцов указываем число 2 (2 столбца с данными), поскольку нам нужно, чтобы отображалось одновременно и название, и код ОКПО юридического лица. 

В итоге получаем такой результат в режиме формы:

Пример редактирования данных в MS Access в таблице, часть полей которой представлена выпадающими списками

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

Не забываем для поля "Код" поставить режим "Только чтение", так как Access генерирует уникальные коды строк в автоматическом режиме для сохранения целостности данных.

0  


 Создаем таблицы и проводим нормализацию | Описание курса | Алгоритмы