Сборник практических работ Access. Сборник Access. Урок Создание таблиц базы данных Рассмотрим последовательность необходимых действий при создании файла и таблиц базы данных. База данных Учебный процесс будет состоять из семи таблиц, свойства полей которых приведены в конце этой главы в приложении.
Скачать 2.9 Mb.
|
Таблицы/Запросы будет уже отражена ранее выбранная таблица ГРУППА. Выберем для нее в списке Доступные поля те поля, которые вошли в спроектированный макет формы, перемещая их в область Выбранные поля. Выберем далее таблицу СТУДЕНТ и ее поля (рис. 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. Размещение элементов основной части формы после редактирования Отмечая курсором мыши и перетаскивая отмеченные элементы, разместим поля так, как это показано на рис. 5.8. Уточним подписи полей, шрифт и размеры полей и подписей, заголовок формы. Можно изменить размер любого элемента, перемещая границы его рамки. Ширину и высоту подписи в соответствии с размером и шрифтом текста можно задать, используя кнопку. По размеру данных на панели конструктора форм. Выравнивание предварительно выделенных элементов, например, по горизонтали выполняется командой меню Формат|Выравнять|по нижнему краю . Создание кнопок для перехода к другой записи Для того чтобы в форме можно было переходить к следующей и предыдущей записей записи таблицы ГРУППА, создадим соответствующие кнопки управления в основной части формы. Нажмем на Панели элементов Access кнопку Мастер элементов, а затем используем инструмент Кнопка. После нажатия, переноса кнопки курсором мыши в нужное место и вычерчивания ее рамки запустится мастер кнопок Создание кнопок (рис. Рис Окно мастера кнопок В окне мастера кнопок выберем действие, которое необходимо выполнять при нажатии кнопки. В группе Категории выберем строку Переходы по записям, в группе Действия выберем строку Предыдущая запись. В следующем сеансе диалогового окна можно выбрать вид кнопки Текст или Рисунок ивы- брать его из списка. Отметим флажки Рисунок и Показать все рисунки. Далее выбираем подходящий рисунок из списка, например, Стрелка вверх (синяя. После нажатия кнопки Готово кнопка с выбранным рисунком встраивается в форму. Аналогичные действия выполняются для встраивания кнопки перехода к последующей записи таблицы. При этом выбираются, соответственно, в группе Действия – строку Следующая запись и рисунок Стрелка вниз (синяя. Отредактируем размер в надписи кнопок для перехода к записи другой группы, записав – ПРЕДЫДУЩАЯ, СЛЕДУЮЩАЯ. Для создания кнопки закрытия формы в группе Категории надо выбрать строку Работа с формой, а в группе Действия – Закрыть форму. После формирования кнопки заменим название ее название на ЗАКРЫТЬ. Редактирование подчиненной формы Аналогичные действия по доработке выполним для подчиненной формы СПИСОК СТУДЕНТОВ. Перейдем к редактированию подчиненной формы, переводя курсор в область подчиненной формы (см. рис. 5.7) или открывая подчиненную форму в окне базы данных. Рис. 5.10. Подчиненная форма СПИСОК СТУДЕНТОВ в режиме конструктора после доработки Используя технику редактирования формы, удалим поле НГ, отображающее номер группы, т. к. это поле является полем связи и его достаточно сохранить в основной части формы. В подчиненной форме это поле имело бы одно и тоже повторяющееся значение во всех строках. Уточним подписи полей- столбцов в заголовке формы, а также шрифт, размеры полей и подписей. После редактирования формы сохраним ее, нажав кнопку панели инструментов Сохранить. На рис. 5.10 приведена подчиненная форма СПИСОК СТУДЕНТОВ после редактирования. Переход в режим формы и загрузка таблиц Завершив редактирование формы, перейдем из режима конструктора в режим формы, выбрав его на панели конструктора форм или выполнив команду меню Вид|Режим формы. На рис. 5.11 показана окончательно отредактированная форма в режиме просмотра. Рис. 5.11. Форма ввода-вывода для работы сданными двух взаимосвязанных таблиц Если после редактирования форма была закрыта, то для начала сеанса работы сданными через форму необходимо в окне Учебный процесс база данных см. рис. 5.6) в группе Объекты перейти к строке Формы, выделить имя созданной многотабличной формы СПИСОК ГРУППЫ и нажать кнопку Открыть. Полученная многотабличная форма СПИСОК СТУДЕНТОВ ГРУППЫ обеспечивает одновременную загрузку и работу сданными таблиц ГРУППА и СТУДЕНТ. Загрузим эти таблицы данными в соответствии с Приложением А. В процессе загрузки сначала вводятся значения реквизитов группы номер группы, количество студентов и средний балл группы. Замечание. Ввод ключевого поля НГ всегда обязателен для создания записи в таблице ГРУППА. Причем эта запись создается независимо оттого, будет ли введен сразу список студентов группы. Другие два реквизита группы могут вводиться и позже при просмотре данных через форму, если не введены дополнительные ограничения на их значения в свойствах при конструировании таблицы. 47 Далее вводятся реквизиты студентов в область подчиненной формы. При этом ввод номера студента в группе всегда обязателен для образования записи в таблице СТУДЕНТ, который вместе с введенным в основную часть формы номер группы образует уникальный ключ в этой таблице. Запись о студенте сохраняется при переходе к очередной строке в подчиненной форме. Для перехода к записи другой группы можно использовать созданные кнопки со стрелками вверх (вниз, для перемещения по записям студентов – стандартные кнопки перехода в поле номера записи в нижней части подчиненной формы. Для завершения работы с формой используется созданная в форме кнопка ЗАКРЫТЬ или стандартной кнопкой окна в Windows. Упражнение. Для одновременной загрузки таблиц КАФЕДРА и ПРЕПОДАВАТЕЛЬ создайте форму, показанную на рис. 5.12. При создании формы выполните действия, аналогичные рассмотренным в примере для таблиц ГРУППА и СТУДЕНТ. Рис. 5.12. Форма для загрузки и работы с таблицами КАФЕДРА → ПРЕПОДАВАТЕЛЬ 1. В соответствии с технологией загрузки базы данных, рассмотренной в настоящей главе, осуществите проектирование формы для загрузки данных в таблицы КАФЕДРА и ПРЕПОДАВАТЕЛЬ из документа-источника Список преподавателей кафедры • Определите подсхему данных для составной формы 48 49 • В соответствии с подсхемой определите общую структуру составной формы Спланируйте размещение реквизитов в макете формы так, чтобы обеспечить удобный ввод данных из документа Список преподавателей кафедры. Создайте форму средствами мастера форм и отредактируйте в конструкторе форм. 3. Загрузите данные через построенную форму в таблице КАФЕДРА И ПРЕПОДАВАТЕЛЬ. Используйте значения, приведенные в Приложении А. Урок 6. Многотабличные формы В соответствии с этапами загрузки базы данных "Учебный процесс, определенными выше (см. табл. 4.1), загрузка записей о занятиях текущего семестра в таблицу ИЗУЧЕНИЕ должна выполняться после загрузки таблиц со справочными данными, что обеспечит установление связей загружаемых записей с соответствующими записями этих таблиц. На этапе проектирования определим все необходимые требования к создаваемой форме и ее макет Процесс конструирования сложной формы средствами осуществим далее в соответствии с результатами этой работы. При определении требований к форме рассмотрим особенности назначения и работы с формой, составим подсхему данных для создания формы, определим общую структуру формы и размещение реквизитов в соответствии со структурой входного документа и подсхемой данных. Проектирование формы Выполним проектирование формы, обеспечивающей загрузку в таблицу ИЗУЧЕНИЕ данных о занятиях текущего семестра в каждой группе, и определим требования к форме, на основе которых можно перейти к ее созданию. Документом внемашинной сферы, содержащим необходимые данные для загрузки таблицы ИЗУЧЕНИЕ, может служить "План проведения занятий в группе. Поэтому загружаемые через форму записи целесообразно группировать в соответствии сих подчиненностью записям другой таблицы - ГРУППА. В таблицу ИЗУЧЕНИЕ в соответствии с ее структурой наряду с номером группы и видом занятия нужно вводить идентификаторы предмета и преподавателя. В документе-источнике указаны наименование предмета и фамилия преподавателя. Для того чтобы при загрузке правильно вводить только идентификаторы, предусмотрим отображение в форме расшифровывающей информации наименования предмета (НП) и фамилии преподавателя (ФИО) из таблиц ПРЕДМЕТ и ПРЕПОДАВАТЕЛЬ, которым подчинена загружаемая таблица. Поскольку форма служит не только для загрузки, но и для просмотра, включим в форму и другие описательные реквизиты из таблиц ПРЕДМЕТ и ПРЕПОДАВАТЕЛЬ дляих отображения. Определение подсхемы данных В результате загрузки данных о занятиях в группах должны формироваться только записи таблицы ИЗУЧЕНИЕ объект загрузки которую надо включить в подсхему данных для формы ввода-вывода данных о занятиях в группах (см. рис 6.1). Поскольку загрузку и просмотр данных удобно производить по каждой группе в отдельности, в подсхему включим таблицу ГРУППА. Выберем по этой причине таблицу ГРУППА в качестве источника основной части составной формы. Заметим, что данные таблицы ГРУППА должны только отображаться в форме, ноне вводить в нее. В подсхему (рис. 6.1) включим также таблицы ПРЕДМЕТ и ПРЕПОДАВАТЕЛЬ, т.к. в форме необходимо предусмотреть отображение описательных данных о предмете и преподавателе. Рис. 6.1. Подсхема для формы ввода-вывода данных в таблицу ИЗУЧЕНИЕ 51 Определение общей структуры формы На основе полученной подсхемы (рис. 6.1) определим общую структуру формы, которую назовем ПЛАН ЗАНЯТИЙ. Основная часть формы. Многотабличная форма ПЛАН ЗАНЯТИЙ будет содержать основную часть на основе таблицы ГРУППА для группировки вводимых данных о занятиях по каждой группе студентов. Для ввода данных в таблицу ИЗУЧЕНИЕ предусмотрим непосредственное включение подчиненной формы ИЗУЧЕНИЕ. Таким образом, форму ПЛАН ЗАНЯТИЙ определяют y Тип формы – многотабличная y Источник записей для основной части формы – таблица ГРУППА y Включаемая подчиненная форма ИЗУЧЕНИЕ с источником записей - таблица ИЗУЧЕНИЕ Подчиненная форма, включаемая в основную. Для расшифровки идентификаторов предмета и преподавателя предусмотрим включение в подчиненную форму ИЗУЧЕНИЕ полей из таблиц ПРЕДМЕТ и ПРЕПОДАВАТЕЛЬ, являющихся главными относительно таблицы, на которой строится форма ИЗУЧЕНИЕ. Таким образом, подчиненную форму ИЗУЧЕНИЕ определяют y Тип формы – подчиненная y Источник записей для основной части формы ИЗУЧЕНИЕ – таблица ИЗУЧЕНИЕ y Источники отображаемых полей формы – таблицы ПРЕДМЕТ и ПРЕПОДАВАТЕЛЕЙ Размещение реквизитов формы Основная часть формы В основной части составной формы ПЛАН ЗАНЯТИЙ вверху будем размещать поля таблицы ГРУППА y НГ – номер группы (уникальный ключ) y КОЛ – количество студентов y ПБАЛЛ – средний балл в группе при поступлении Доступ к перечисленным полям должен быть ограничен только чтением, т.к. значения этих полей не должны вводиться и корректироваться из документа План занятий. Подчиненная форма ИЗУЧЕНИЕ В подчиненной форме ИЗУЧЕНИЕ разместим Все поля загружаемой таблицы ИЗУЧЕНИЕ, кроме ключевого реквизита НГ номер группы, включенного в основную часть формы, что обеспечивает однократное отображение одинаковых номеров группы по форме : y КП – код предмета y ТАБН – идентификатор преподавателя y ВИДЗ – вид занятий y ЧАСЫ – число часов занятий y СБАЛЛ-ГР – средний балл по предмету в группе Поля из таблиц ПРЕДМЕТ и ПРЕПОДАВАТЕЛЬ, позволяющие отобразить справочную информацию о предмете и преподавателе, ведущем занятие поля таблицы ПРЕДМЕТ y НП – название предмета y ЧАСЫ – всего часов y ЛЕК – часов лекций y ПР – часов практики Поля таблицы ПРЕПОДАВАТЕЛЬ y ФИО – фамилия преподавателя y СТ – ученая степень y УЗ – ученое звание Создание многотабличной формы с подчиненной формой средствами мастера Используя мастера форм, создадим в соответствии с результатами проектирования составную форму ПЛАН ЗАНЯТИЙ, включающую подчиненную форму ИЗУЧЕНИЕ. В окне базы данных выберем вкладку Создание, в группе Формы нажмем кнопку Мастер форм. В качестве таблицы, которая будет источником записей основной части сложной формы, выберем таблицу ГРУППА. В первом сеансе диалоговом окна Создание форм выберем включаемые в форму поля таблицы ГРУППА, а затем поля таблиц ИЗУЧЕНИЕ, ПРЕДМЕТ, ПРЕПОДАВАТЕЛЬ. В следующем окне (рис. 6.2) уже будет выделена таблица ГРУППА, которая выбрана для создания основной части формы. Поскольку эта таблица является главной в схеме данных относительно используемой в форме таблицы ИЗУЧЕНИЕ, представляется возможность выбрать тип формы – Подчиненные формы. Рис. 6.2. Окно мастера форм при выборе типа включения подчиненной формы Для получения многозаписевой подчиненной формы выберем в следующем сеансе окна мастера вид формы Ленточный (Tabular) и стиль оформления Стандартный (Standard). В последнем сеансе окна Создание форм (Form Wizard) зададим имя составной формы – ПЛАН ЗАНЯТИЙ, а также имя подчиненной формы – ИЗУЧЕНИЕ. Выберем также дальнейшие действия мастера – Открыть форму для просмотра и ввода данных (Open the form to view or enter information). По завершению работы мастера выводится форма сданными из таблиц, которые были заданы пользователем в диалоге с мастером. В подчиненной форме выводятся все записи о занятиях для одной группы (рис. 6.3). При этом запись о занятии содержит, кроме полей из таблицы ИЗУЧЕНИЕ, также поля из главных по отношению к ней таблиц ПРЕДМЕТ и ПРЕПОДАВАТЕЛЬ. Мастер, проанализировав схему данных, сам формирует подчиненную форму ИЗУЧЕНИЕ, и включает поля этих таблиц в качестве расшифровывающих. 54 Рис. 6.3. Форма с подчиненной формой, созданная мастером на основе четырех таблиц Заметим, что запись в подчиненной форме имеет очень много полей, причем лишь часть этих полей служит для загрузки данных в подчиненную таблицу ИЗУЧЕНИЕ. Другие поля должны отображаться из ранее загруженных таблиц ПРЕДМЕТ, ПРЕПОДАВАТЕЛЬ. Такое размещение полей неудобно для работы пользователя. Форму целесообразно доработать средствами конструктора. Разработка формы, обеспечивающей удобный интерфейс пользователя для загрузки подчиненной таблицы Рассмотренные выше два варианта построения формы для загрузки данных о занятиях недостаточно удобны для работы пользователя. В первом варианте данные о каждом занятии были представлены компактно в виде одиночной записи ноне обеспечивался удобный доступ к занятиям каждой группы. Вариант формы с подчиненной таблицей также имел недостатки, поскольку данные, вводимые в таблицу ИЗУЧЕНИЕ, входили в одну длинную запись вместе с отображаемыми справочными данными. Выполним разработку формы, более удобной пользователю для просмотра занятий группы и загрузки новых занятий, и защитим в ней поля справочных данных. Требования к создаваемой форме Обеспечим возможность компактного отображения на экране всей информации об одном занятии и сохраним в тоже время возможность объединения записей о занятиях по группам, как в форме на рис. 6.3. Кроме того, целесообразно в форме в одну группу объединить поля, в которые вводятся значения при загрузке таблицы ИЗУЧЕНИЕа в другую - поля, которые содержат только справочную информацию о предмете и преподавателе, которая отображается для расшифровки идентификаторов занятия. В процессе конструирования обеспечим защиту справочных данных в таблицах ГРУППА, ПРЕДМЕТ и ПРЕПОДАВАТЕЛЬ от случайных изменений при загрузке данных о занятиях в таблицу ИЗУЧЕНИЕ. Предусмотрим для удобства пользователя кнопки перехода к просмотру занятий для другой группы и кнопку закрытия формы. Для визуальной проверки правильности вводимых идентификаторов преподавателя и предмета используем поля со списком. В соответствии с перечисленными требованиями для первоначального размещения полей и создания подчиненной формы можно воспользоваться формой ПЛАН ЗАНЯТИЙ, полученной мастером (см. рис. 6.3). Откроем эту форму в режиме конструктора. Для этого в Границе области переходов (область навигации) выберем для редактирования созданную ранее многотабличную форму ПЛАН ЗАНЯТИЙ. Если форма была открыта ранее в режиме просмотра или в режиме макета, то для перехода в режим конструктора достаточно выбрать соответствующий тип представления в группе Режимы на вкладке Главная. Редактирование основной части формы В основной части формы разместим и отредактируем поля таблицы ГРУППА так, как это показано на рис. 6.4. Уточним текст подписей полей, шрифт и размеры полей и подписей, введем текст в заголовок формы. Удалим элемент с подписью подчиненной формы. Удалим разделительные линии между разделами формы заголовком, областью данных и примечания. Для этого в свойствах формы на вкладке Макет в строке Разделительные липни выберем Нет. Уберем область выделения записи, проставив в свойствах формы в соответствующей строке "Нет" Создадим две кнопки для перехода к следующей или предыдущей группе, а также кнопку для закрытия формы. Рис. 6.4. Основная часть многотабличной формы после редактирования в режиме конструктора Ограничение доступа к полям таблицы-источника основной части формы. Защитим данные записей таблицы ГРУППА от непроизвольных изменений при работе с формой, т.к. они должны использоваться только для отображения. Это все поля основной части формы. Для защиты поля выделим рамку поля и с помощью контекстно-зависимого меню вызовем свойства поля. В окне свойств на вкладке Данные в строке Блокировка выберем Да. После установки этого свойства поле доступно только для чтения. Сохраним форму под новым именем ПЛАН ЗАНЯТИЙ В ГРУППЕ, используя команду Сохранить как. Редактирование подчиненной формы ИЗУЧЕНИЕ. Ранее мастером было получена подчиненная ленточная форма, которая в режиме конструктора показана на рис. 6.5. Рис. 6.5. Подчиненная форма ИЗУЧЕНИЕ в режиме конструктора Для изменения вида подчиненной формы вызовем ее свойства. На вкладке Макет в окне Окно свойств (прав.кнопка мыши - пункт свойства формы) рис. 6.6) заменим в строке Режим по умолчанию значение Ленточная форма на Простая форма. Это позволит отображать в подчиненной форме одну запись о занятии. Вид формы в конструкторе останется прежним. Рис. 6.6. Отображение списка режимов по умолчанию в окне свойств подчиненной формы 57 В подчиненной форме разместим поля так, как это показано на рис. 6.7. После перемещения всех подписей полей из заголовка в область данных можно сократить его размер до нуля перемещением границы заголовка и области данных. Поля таблицы ИЗУЧЕНИЕ, в которой надо вводить данные из документа План занятий, разместим в верхней части области данных. В нижней части области данных разместим поля, в которые будут автоматически выводиться справочные данные из таблиц ПРЕДМЕТ и ПРЕПОДАВАТЕЛЬ для расшифровки вводимых идентификаторов занятия. Эти поля служат только для отображения сведений о предмете и преподавателе. Для создания рамок используем кнопку панели элементов управления Прямоугольник . Рис. 6.7. Подчиненная форма ИЗУЧЕНИЕ в режиме конструктора форм после редактирования Уточним текст подписей полей, шрифт и размеры полей и подписей. Выполним относительное выравнивание надписей и полей с помощью команды |