access_2010_в_примерах (833831), страница 5
Текст из файла (страница 5)
4.8. Ввод имени формы при ее сохраненииРабота с данными таблицы в режиме формыЗавершив редактирование формы, приступим к работе с таблицей ПРЕДМЕТчерез форму. Для перехода в режим формы из режима конструктора нужнонажать в вкладке Режимы кнопки Режим и выбрать Режим формы.Для загрузки , просмотра и корректировки данных таблицы ПРЕДМЕТ черезранее сохраненную форму в окне: база данных в группе Объекты надо перейти к строке Формы и ,выделив в рабочей области название формы ПРЕДМЕТ-ПРОГРАММА, нажать кнопку Открыть.На рис.4.9.
приводится форма ПРЕДМЕТ-ПРОГРАММА в режиме формы, вкоторой отображены данные из одной строки таблицы ПРЕДМЕТ.36Рис. 4.7. Форма ввода-вывода для работы с данными таблицы ПРЕДМЕТДанные для загрузки таблицы ПРЕДМЕТ приведены в соответствующей таблице приложения главы 3.Значения, вводимые в поля формы, должны соответствовать типам данных иих свойствам, заданным при определении структуры таблицы.Для завершения создания (редактирования) записи таблицы ПРЕДМЕТ достаточно перейти к другой записи в поле номера записи внизу формы.37Урок 5.
Формы для загрузки двух таблицВ настоящем разделе на примере подробно рассматривается последовательность конкретных действий при разработке составной формы для загрузкидвух таблиц, связанных одно-многозначными отношениями. Технология разработки любой многотабличной формы включает проектирование макетаформы (см. выше раздел «Технология загрузки базы данных с использованиемформ») и процесс конструирования средствами Access.В соответствии с разделом «Этапы загрузки базы данных и проектированияформ» при проектировании составной формы выполним:Определение подсхемы данных для разрабатываемой формыОпределение общей структуры экранной формы, т. е. ее макета в соответствии со структурой входного документа и подсхемой данныхОпределение состава и размещения реквизитов для каждой из частей составной формыНа основе результатов проектирования осуществим конструирование экранной формы средствами Access.Ниже рассматривается технология разработки составной формы для одновременной загрузки и работы с данными таблиц ГРУППА и СТУДЕНТ в соответствии с этапами загрузки базы данных «Учебный процесс», определеннымивыше в табл.
3.1.Проектирование форм на основе двух таблицОсуществим проектирование формы для загрузки данных в таблицу ГРУППАи СТУДЕНТ, просмотра и редактирования этих данных. Документомисточником такой формы является «Список студентов группы» (см. рис. 2.3).Из этого документа будут загружаться одновременно две таблицы: ГРУППА иСТУДЕНТ, которые в совокупности образуют объект загрузки.Определение подсхемы данных для составной формыПоскольку объект загрузки: ГРУППА → СТУДЕНТ не подчиняется в схемеданных другим таблицам, подсхема, необходимая для построения формы, недолжна включать других таблиц. Такая подсхема приведена на рис.5.1.Определение общей структуры составной формыВ соответствии с приведенной подсхемой определим общую структуру составной формы, которую назовем СПИСОК ГРУППЫ.38Рис.5.1.
Подсхема данных для конструирования формы на базе таблицГРУППА → СТУДЕНТДля того чтобы обеспечить удобный ввод данных с документа, в форме предусмотрим основную часть с реквизитами группы и подчиненную с записямио студентах группы. Подчиненную форму назовем СПИСОК СТУДЕНТОВ.Таким образом, составную форму СПИСОК ГРУППЫ определяют:Тип формы – многотабличнаяИсточник записей для основной части формы – таблица ГРУППАВключаемая подчиненная форма – СПИСОК СТУДЕНТОВПодчиненную форму СПИСОК СТУДЕНТОВ определяют:Тип формы – подчиненная, многозаписеваяИсточник записей – таблица СТУДЕНТНа подсхеме (рис.5.1) показано назначение таблиц при создании формы.Размещение реквизитов основной и подчиненной формыРазмещение реквизитов в основной части формы и подчиненной форме должно соответствовать входному документу «Список студентов группы» (см.
главу 2).В основной части составной формы СПИСОК ГРУППЫ вверху разместим реквизиты, соответствующие полям таблицы ГРУППА:Номер группы (НГ - ключ)Количество студентов (КОЛ)Средний проходной бал в группе (ПБАЛЛ)В подчиненной форме СПИСОК СТУДЕНТОВ разместим в качестве заголовков столбцов многозаписевой формы названия реквизитов соответствующихполей таблицы СТУДЕНТ:39Номер студента в группе (НС)Фамилия И. О.
(ФИО)Год рождения (ГОДР)Адрес (АДРЕС)Средний балл при поступлении (ПБАЛЛ)Заметим, что ключевое поле НГ не включено в подчиненную форму, т. к. полесвязи НГ включено в основную часть формы.Создание формы для двух таблиц с помощью мастераОсуществим средствами Access конструирование формы для одновременнойзагрузки и корректировки двух таблиц ГРУППА и СТУДЕНТ в базе данных«Учебный процесс».Определение таблиц и полей для основной и включаемой частейформыВ окне: базы данных выбираем в группе Объекты строку Формы и нажимаем кнопку Создать.Рис. 5.2. Выбор полей для формы в окне мастера формВ диалоговом окне Новая форма (New Form) выбираем режим созданияМастер форм (Form Wizard) и таблицу ГРУППА, которая будет служить источником данных для основной части, создаваемой многотабличной формы.В открывшемся окне Создание форм в списке Таблицы/Запросы будет ужеотражена ранее выбранная таблица ГРУППА.
Выберем для нее в списке Дос40тупные поля те поля, которые вошли в спроектированный макет формы, перемещая их в область Выбранные поля. Выберем далее таблицу СТУДЕНТ иее поля (рис. 5.2). Эта таблица будет источником записей подчиненной формы, связанных с записью отображаемой в основной части формы.Выбор типа формыВ следующем сеансе окна Создание форм отображается макет формы с перечнем полей в основной части формы и в подчиненной форме (рис. 5.3). Вэтом окне уже будет выделена таблица ГРУППА – источник записей основнойчасти формы.
Таблица СТУДЕНТ – источник записей подчиненной формы.Для непосредственного включения подчиненной формы выберем первый вариант – Подчиненные формы.Рис. 5.3. Выбор варианта явного включения подчиненной формыВ следующем сеансе диалогового окна мастера выбираем внешний вид подчиненной формы ленточный для получения многозаписевой подчиненнойформы и вывода в ней подписей полей (определенных в свойствах таблиц). Вочередном сеансе диалогового окна выберем стиль оформления Стандартный с утопленными полями.Присвоение имени форме и ее открытиеВ последнем сеансе окна Создание форм (рис.
5.4) введем имена (заголовки)составной формы – СПИСОК ГРУППЫ и подчиненной формы – СПИСОКСТУДЕНТОВ. Выберем также дальнейшие действия мастера – Открытиеформы для просмотра и ввода данных.41Рис. 5.4. Окно ввода имен форм и выбора дальнейших действий мастераВ соответствии с выбранными действиями после завершения работы мастеравыводиться форма с данными из таблиц базы данных.Рис. 5.5. Многотабличная форма, созданная мастером на основе таблиц ГРУППА и СТУДЕНТПри этом в подчиненной форме выводятся те записи таблицы СТУДЕНТ, которые связаны с текущей записью таблицы ГРУППА, данные которой отображаются в основной части формы (рис.
5.5).42Замечание. При работе с формой в случае необходимости можно отобразитьданные подчиненной формы в виде таблицы с именами полей таблицы БД.Для этого в режиме формы выполняется команда Вид|Таблица подчиненнойформы (View|Subform Datasheet), работающая как переключатель. Курсорпредварительно устанавливается на подчиненной форме.Редактирование формы в режиме конструктораИзменение надписей и размещения полей. В окне: базы данных (рис. 5.6) вобласти Объекты выделим строку Формы.
Выберем для редактирования созданную ранее многотабличную форму СПИСОК ГРУППЫ и нажмем кнопкуКонструктор. Если форма была открыта ранее в режиме просмотра, то дляперехода в режим конструктора достаточно нажать кнопку Вид на панеликонструктора форм .Рис. 5.6. Выбор формы в окне базы данныхВ окне конструктора форм (рис. 5.7) указано имя формы, СПИСОК ГРУППЫ,представлены поля с надписями основной части формы, размещенные в области данных, а также поля и надписи подчиненной формы СПИСОК СТУДЕНТОВ в рамке, созданной для нее мастером (в версиях Access 95/97 отобразиться пустая рамка подчиненной формы, в которой приводится ее имя).43Рис.
5.7. Форма для двух таблиц ГРУППА и СТУДЕНТ в режиме конструктораПроизведем доработку формы СПИСОК ГРУППЫ, используя технику редактирования. Введем в область заголовка полное название формы СПИСОКСТУДЕНТОВ ГРУППЫ №, которое будет выводиться при распечатке формыи будет соответствовать макету документа. Формирование текста в областизаголовка подробно было рассмотрено выше при конструировании однотабличной формы.Рис. 5.8. Размещение элементов основной части формы после редактирования44Отмечая курсором мыши и перетаскивая отмеченные элементы, разместимполя так, как это показано на рис. 5.8. Уточним подписи полей, шрифт и размеры полей и подписей, заголовок формы. Можно изменить размер любогоэлемента, перемещая границы его рамки. Ширину и высоту подписи в соответствии с размером и шрифтом текста можно задать, используя кнопку.
Поразмеру данных на панели конструктора форм. Выравнивание предварительно выделенных элементов, например, по горизонтали выполняется командойменю Формат|Выравнять|по нижнему краю .Создание кнопок для перехода к другой записиДля того чтобы в форме можно было переходить к следующей и предыдущейзаписей записи таблицы ГРУППА, создадим соответствующие кнопки управления в основной части формы.Нажмем на Панели элементов Access кнопку Мастер элементов, а затем используем инструмент Кнопка. После нажатия, переноса кнопки курсороммыши в нужное место и вычерчивания ее рамки запустится мастер кнопокСоздание кнопок (рис.5.9).Рис.5.9. Окно мастера кнопокВ окне мастера кнопок выберем действие, которое необходимо выполнять принажатии кнопки. В группе Категории выберем строку Переходы по записям,в группе Действия выберем строку Предыдущая запись.
В следующем сеансе диалогового окна можно выбрать вид кнопки: Текст или Рисунок и выбрать его из списка. Отметим флажки Рисунок и Показать все рисунки. Далее выбираем подходящий рисунок из списка, например, Стрелка вверх (си45няя). После нажатия кнопки Готово кнопка с выбранным рисунком встраивается в форму.
Аналогичные действия выполняются для встраивания кнопкиперехода к последующей записи таблицы. При этом выбираются, соответственно, в группе Действия – строку Следующая запись и рисунок Стрелкавниз (синяя). Отредактируем размер в надписи кнопок для перехода к записидругой группы, записав – «ПРЕДЫДУЩАЯ», «СЛЕДУЮЩАЯ».Для создания кнопки закрытия формы в группе Категории надо выбратьстроку Работа с формой, а в группе Действия – Закрыть форму.
Послеформирования кнопки заменим название ее название на «ЗАКРЫТЬ».Редактирование подчиненной формыАналогичные действия по доработке выполним для подчиненной формыСПИСОК СТУДЕНТОВ. Перейдем к редактированию подчиненной формы,переводя курсор в область подчиненной формы (см. рис. 5.7) или открываяподчиненную форму в окне базы данных.Рис. 5.10. Подчиненная форма СПИСОК СТУДЕНТОВ в режиме конструктора после доработкиИспользуя технику редактирования формы, удалим поле НГ, отображающееномер группы, т.