Главная страница

лабораторные работы. Методические указания по организации самостоятельной работы студентов Для подготовки к лабораторной работе необходимо повторить следующий теоретический материал таблица, поле, запись, ячейка, ключ, типы данных в ms access, целостность данных


Скачать 1.73 Mb.
НазваниеМетодические указания по организации самостоятельной работы студентов Для подготовки к лабораторной работе необходимо повторить следующий теоретический материал таблица, поле, запись, ячейка, ключ, типы данных в ms access, целостность данных
Анкорлабораторные работы
Дата23.04.2023
Размер1.73 Mb.
Формат файлаdoc
Имя файлаBD_Visual.doc
ТипПрограмма
#1084291
страница1 из 2
  1   2

1 ОЗНАКОМЛЕНИЕ СО СРЕДОЙ MS ACCESS



1.1 Цель работы
Научиться работать в среде MS Access, создавать таблицы и редактировать их. Научиться создавать запросы разных видов. создавать формы и создавать отчеты, применять группировку данных в отчете, использовать макросы для организации интерфейса с пользователями.
1.2 Методические указания по организации самостоятельной работы студентов
Для подготовки к лабораторной работе необходимо повторить следующий теоретический материал: таблица, поле, запись, ячейка, ключ, типы данных в MS Access, целостность данных; запросы; сортировка в запросе; вычислительные поля в запросе; язык SQL, форма, элементы управления в формах; отчеты, групповые операции в отчетах; макросы.
1.3 Порядок выполнения работы и методические указания по ее выполнению
В процессе выполнения данной лабораторной работы необходимо создать БД студенческого общежития. При этом должны реализовываться следующие функции:

  • выдача необходимой информации в виде запросов;

  • автоматизированное поселение студента в общежитие (выбор номера комнаты из числа подходящих по некоторым критериям);

  • формирование пропусков и квитанций для студентов (с использованием отчетов);

  • удобный просмотр текущего расселения студентов по комнатам.


1.3.1 Создания новой базы данных

Программа MS Access похожа на другие Windows-программы. Главное окно MS Access содержит меню, панели инструментов, строку состояния, рабочую область.

Сразу после того, как запущен MS Access и на экране все еще находится диалоговое окно, следует выбрать Новая база данных.

Если диалогового окна уже нет, тогда следует выполнить команду Файл/Создать или нажать кнопку Создать ( ) на панели инструментов. Появится диалоговое окно Создание файла. При двойном щелчке на команде Новая база данных появится диалоговое окно Файл новой базы данных.

В поле Имя файла следует ввести название новой БД, (например, Общежитие) и нажать кнопку Создать. MS Access создаст новую БД. На экране появится окно новой, пустой БД.
1.3.2 Создания таблиц в режиме конструктора

Надо создать таблицу Студенты (см. рис. 1.1).


Рисунок 1.1 - Таблица Студенты


Для создания таблицы в окне БД следует перейти на закладку Таблицы, затем дважды щелкнуть на команде Создание таблицы в режиме коструктора.

В конструкторе таблиц в первой пустой строке в столбце Имя поля следует ввести Код студента. Для перехода к столбцу Тип данных следует нажать клавишу Tab. В столбце Тип данных с помощью выпадающего меню следует выбрать тип поля - Счетчик. В нижней половине окна есть секция свойств поля, которая отображает свойства избранного типа поля. В столбце Описание приводится описание поля. Вводить его не обязательно, таблица создается и без него.

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

В каждой таблице должно быть поле с уникальным значением для каждой записи. Чтобы назначить ключевое поле, следует, выделив поле, которое будет использоваться в качестве ключевого, нажать кнопку Ключ ( ) в панели инструментов. Слева от имени поля появится символ ключа.

Для сохранения таблицы следует нажать кнопку Сохранить ( ) в панели инструментов, дать имя таблице, и нажать кнопку Ok.

Аналогично следует построить таблицы, показанные на рис. 1.2. В поле Скидка следует установить формат поля Процентный и размер поля Одинарное с плавающей точкой. Чтобы в поле Дата заселения в таблице Студенты по умолчанию ставить текущую системную дату, в поле Значение по умолчанию следует ввести «Date()» - функцию, которая возвращает текущую системную дату.



Рисунок 1.2 - Таблицы БД Общежитие


1.3.3 Связи между таблицами

Если, находясь в окне БД, нажать кнопку Схема данных ( ) на панели инструментов, то откроется окно Схема данных (рис. 1.3). Если схема данных ни разу не сохранялась, то также появится диалоговое окно Добавление таблиц. Следует выбрать таблицу Студенты и нажать кнопку Добавить. Также добавить на схему другие таблицы. После этого нажать Закрыть. В окне Схема данных каждая таблица появится в своем окне.


Рисунок 1.3 - Связи между таблицами


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

Аналогично устанавливаются другие связи (рис. 1.3).

Для изменения связей необходимо дважды щелкнуть по линии между двумя таблицами и внести изменения.

Для удаления связи необходимо щелкнуть по линии между двумя таблицами, нажать клавишу Delete, ответить Да для подтверждения удаления, и связь исчезнет.
1.3.4 Введение данных в таблицу

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

Необходимо заполнить все таблицы базы данных информацией по 5-6 записей в каждой таблице.
1.3.5 Создание простого запроса с помощью мастера.

Необходимо создать запрос, отображающий информацию о студентах. Для начала работы с запросами следует выбрать закладку Запросы в окне БД. Для создания простого запроса с помощью мастера следует выбрать пункт Создание запроса с помощью мастера, появится диалоговое окно Создание простых запросов (рис. 1.4).

Следует выбрать таблицу Студенты в выпадающем списке Таблицы/ Запросы, в списке Доступные поля выбрать поле ФИО и нажать кнопку «>». Это поле переместится в список Выбранные поля. Также следует добавить поля Группа, Комнаты. Далее следует в списке Таблицы/ Запросы выбрать таблицу Комнаты, в списке Доступные поля выбрать поле Стоимость и нажать кнопку «>». Из таблицы Льготы добавить поля Тип льготы, Скидка. После того как все поля будут добавлены, следует нажать кнопку Далее, в появившемся окне указать тип отчета Подробный, в следующем окне в поле ввода текста задать имя запроса Информация о студентах и нажать кнопку Готово для отображения результатов запроса.


Рисунок 1.4 – Окно мастера простых запросов


В данном запросе необходимо ввести вычисляемое поле Оплата, в котором будет отображаться сумма оплаты за проживание в комнате студентом с учетом льготной скидки. Для этого необходимо перейти в режим конструктора (кнопка ), в первом пустом столбце ввести следующее выражение: Оплата: [Стоимость] - [Стоимость] * [Скидка]. Данное выражение также может быть построено с использованием инструмента Построитель выражений (кнопка на панели инструментов ). Далее следует запустить запрос на выполнение, перейдя в режим таблицы с помощью кнопки .

Чтобы в получившемся запросе отобразить фамилии студентов в алфавитном порядке, необходимо в режиме конструктора в строке Сортировка в поле ФИО в выпадающем списке выбрать значение По возрастанию. Чтобы отменить сортировку по полю, следует выполнить эти же действия, но выбрать значение Отсутствует.

С помощью условий отбора можете выбрать нужные записи, которые будут появляться в результатах запроса. Например, чтобы в данном запросе выводить информацию только о студентах, имеющих льготы, следует в режиме конструктора запроса в строке Условие отбора в столбце Скидка ввести выражение > 0. Дополнительное условие можно ввести в строке Или.
1.3.6 Создание нового запроса в режиме конструктора

Необходимо создать запрос, отображающий информацию о комнатах. На закладке Запросы в окне БД следует выбрать пункт Создание запроса в режиме конструктора, появится диалоговое окно Добавление таблиц (рис. 1.5), в котором перечислены все таблицы БД.


Рисунок 1.5 - Диалоговое окно Добавление таблиц


В данном окне надо щелкнуть на таблице Комнаты, а потом на кнопке Добавить, потом щелкнуть на таблице Студенты, и опять на кнопке Добавить и нажать кнопку Закрыть. Откроется окно запроса в режиме конструктора (рис. 1.6).


Рисунок 1.6 - Окно «Режим конструктора»


При создании запроса «с нуля» первое, что надо сделать, это добавить к запросу необходимые поля, которые находятся в производном источнике данных (таблице или запросе). Можно также использовать эту процедуру для добавления дополнительных полей в запрос.

Существует два способа добавления поля к запросу.

Первый способ. Щелкнуть на строке Имя таблицы в первом пустом столбце, раскрыть список и выбрать в нем таблицу Комнаты. Щелкнуть на строке Поле в этом же столбце. Раскрыть список и выбрать в нем поле № комнаты (рис. 1.6).

Второй способ. В окне таблицы Студенты, которое находится в верхней части окна конструктора запроса (рис. 1.6) выделить поле Пол, щелкнув по нему курсором мыши, захватить это поле и перетянуть его в строку Имя поля первого пустого столбца (захватить и перетянуть — курсор мыши поместить на подмеченное поле, нажать левую клавишу и не отпуская ее, переместить курсор мыши в место назначения, где и отпустить левую клавишу). В этом столбце заполненными окажутся поля Имя поля и Таблица.

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

Далее следует добавить в запрос поле Количество.

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

Необходимо добавить вычисляемое поле, которое будет показывать, сколько в комнате осталось свободных мест. В пустом столбце в режиме конструктора с помощь построителя выражений следует ввести выражение: Свободных: [Количество] - Count ( [Пол] ). Так как в данном выражении используется групповая операция нахождения количества записей (Count), то необходимо применить операцию группировки к полям, значения которых не меняются в пределах группы. Для этого необходимо выполнить команду Вид/Групповые операции и установить в строке Групповая операция для поля Свободных значение Выражение, а для остальных полей — Группировка (рис. 1.6).
1.3.7 Создания перекрестных запросов

Необходимо с помощью мастера создать перекрестный запрос (или кросс-таблицу), на основе запроса Информация о студентах (рис. 1.7). Мастер перекрестных запросов можно запустить, нажав кнопку Создать на закладке Запросы, и выбрав команду Перекрестный запрос в открывшемся окне Новый запрос.

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


Рисунок 1.7 - Образец схемы результата перекрестного запроса



1.3.8 Использование инструмента Автоформа

Для создания с помощью инструмента Автоформа формы для ввода данных в таблицу Студенты следует выбрать закладку Формы в окне БД, нажать кнопку Создать. В появившемся диалоговом окне Новая Форма (рис. 1.8) выбрать Автоформа: в столбец, раскрыть выпадающий список, расположенный снизу диалогового окна, выбрать таблицу, с которой будет связанная текущая форма, то есть Студенты, и нажать кнопку Ok. Появится форма, готовая для ввода данных (рис. 1.9). Необходимо сохранить эту форму под именем Поселение в общежитие.


Рисунок 1.8 - Диалоговое окно «Новая Форма»



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

Необходимо создать форму Распределение студентов по комнатам, отображающую связанные данные таблиц Студенты и Комнаты (рис. 1.10). В окне БД следует выбрать закладку Формы, нажать кнопку Создать. Появится диалоговое окно Новая Форма (рис. 1.8). Надо выбрать пункт Мастер форм и нажать кнопку Ok. В выпадающем списке Таблицы/Запросы выбрать таблицу, Студенты. В следующем окне нажать кнопку >>, для того чтобы переместить все поля в таблице в список Выбранные поля. Так же добавить все поля из таблицы Комнаты.


Рисунок 1.9 - Форма Поселение в общежитие


Нажать кнопку Далее для продолжения работы. В следующем окне установить параметры так, как показано на рисунке 1.11. и нажать кнопку Далее. Далее в запросе вида формы выбрать Табличный, в запросе стиля оформления формы – Стандартный, в следующем диалоговом окне дать имя форме Распределение студентов по комнатам и нажать кнопку Готово. Появится готовая форма (рис. 1.10).Удобство использования главных и подчиненных форм состоит как в том, что отображается связанная информация (в данном случае отображаются студенты, живущие в комнате текущей записи), так и в том, что при заполнении подчиненной таблицы ключ связи из главной таблицы подставляется автоматически (№ Комнаты в таблице Студенты автоматически подставляется из поля № Комнаты текущей записи таблицы Комнаты).


Рисунок 1.10- Форма Распределение студентов по комнатам




Рисунок 1.11– Создание главной и подчиненной форм


1.3.10 Создания формы «c нуля»

Для того, чтобы создать в конструкторе форму для ввода данных в таблицу Льготы, необходимо в окне БД нажать закладку Формы, нажать кнопку Создать, в окне Новая Форма выделить Конструктор. В выпадающем списке в нижней части диалогового окна надо выделить таблицу или запрос, с которым будет связана текущая форма, то есть Льготы. В дальнейшем не будет возможности это сделать. В режиме Конструктор нельзя создать форму, в которой содержатся поля с нескольких таблиц. Нажать кнопку Ok. Появится экран конструктора форм. Теперь можно приступить к разработке формы (рис. 1.12).

Поля, которые можно добавлять к форме, должны появиться в области данных. Если на экране не отображается Список полей, следует вывести его, нажав кнопку Список полей ( ) или команду меню Вид/Список полей.

Чтобы прибавить к форме любое поле, необходимо перетянуть его с списка полей. При создании формы Льготы нужно добавить на форму все поля одноименной таблицы.


Рисунок 1.12 - Окно конструктора форм


1.3.11 Создания полей со списками в форме

Для облегчения ввода данных в форму можно использовать такие элементы управления, как поля со списками, которые позволяют выбрать значение из загружаемых полей или запросов, либо ввести новое значение. В базе данных Общежитие удобно использовать поля со списками для ввода данных в поле Код льготы формы Поселение в общежитие чтобы не запоминать все время, какой категории льготников соответствует какой код. Для создания такого поля со списком следует открыть форму Поселение в общежитие в режиме конструктора, вывести список полей производной таблицы. После этого удалить из формы поле Код льготы. Потом, на панели элементов нажать пиктограмму поля со списком и перетянуть поле Код льготы из списка полей в форму. Появится первое диалоговое окно Создание полей со списком, в котором следует выделить пункт Поле со списком использует значение из таблицы или запроса, и нажать кнопку Далее. В следующем диалоговом окне надо выделить таблицу Льготы и нажать Далее. В следующем диалоговом окне перенести поля Код льготы и Тип льготы из списка Доступные поля в список Выбранные поля и нажать кнопку Далее. Убрать отметку Скрыть ключевой столбец, задать ширину столбцов, и нажать кнопку Далее. В следующем диалоговом окне следует выделить пункт Сохранить в поле, из выпадающего списка выбрать поле Код льготы и нажать кнопку Далее. В поле ввода задать подпись Код льготы и нажать кнопку Готово.

Аналогично создайте поле со списком Пол в форме Поселение в общежитие. При этом рекомендуется из запроса в свойстве Источник срок убрать ключевой столбец, и убрать наличие повторяющихся значений поля введением конструкции DISTINCT в оператор SELECT.

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

С помощью полей со списком можно облегчить некоторые функции взаимодействия пользователя с базой данных. Например, в данной форме удобно было бы выбирать номер комнаты, подходящей по некоторым критериям: нелогично селить вместе студентов разного пола; нельзя поселить студента в комнату, в которой нет свободных мест. Таким образом, список предлагаемых комнат должен быть сформирован с помощью запроса. Подобный запрос в данной базе данных есть — Характеристика комнат, необходимо только его доработать, связав с формой Поселение в общежитие. Для этого необходимо открыть запрос в режиме конструктора и в строке Условие отбора в столбце Пол сформировать выражение [Forms]![Поселение в общежитие]![Пол] Or Is Null, а в строке Условие отбора в столбце Свободных сформировать выражение > 0. Далее необходимо открыть форму в режиме конструктора, убрать поле № комнаты, щелкнуть на панели инструментов на элементе Поле со списком, и затем щелкнуть на форме. Запустится мастер создания полей со списком. Необходимо настроить поле со списком, выбрав в качестве источника данных запрос Характеристика комнат, выбрав все поля из данного запроса, настроив их ширину, и сохранив значение поля запроса № комнаты в поле формы № комнаты. Если сейчас посмотреть, как работает данное поле со списком, можно увидеть, что один раз оно срабатывает правильно, а потом список не обновляется. Для постоянного обновления списка необходимо открыть свойства поля со списком, открыть закладку События, создать процедуру обработки события Вход, в которую написать оператор <Имя поля со списком> .Requery.

Аналогично создаются другие элементы управления.
1.3.12 Создания отчета с помощью мастера отчетов

Для создания отчета на основе таблиц Студенты и Льготы необходимо:

- нажать закладку Отчеты в окне БД;

- выбрать команду Создание отчета с помощью мастера. Запустится мастер отчетов;

- в окне Создание отчетов раскрыть выпадающий список Таблицы/Запросы и выделите в нем таблицу Студенты (рис. 1.13), перенести из списка Доступные поля в список Выбранные поля поля Код студента, ФИО, Группа, № комнаты, Дата заселения. Выбрать в списке Таблицы/Запросы таблицу Льготы, перенести из списка Доступные поля в список Выбранные поля поле Тип льготы и нажать кнопку Далее;

- в следующем окне выбрать тип представления данных по студентам;

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


Рисунок 1.13 - Окно Создание отчетов


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

В следующем диалоговом окне следует выбрать вид макета В столбец в секции Макет. Выбрать ориентацию отчета - Книжная или Альбомная и нажать кнопку Далее.

В следующем диалоговом окне мастера отчетов из списка стилей отчета выбрать стиль отчета. Далее задать имя отчета – Пропуск и нажать кнопку Готово. Отчет откроется в режиме предварительного просмотра. Открыть отчет в режиме конструктора и изменить его так, чтобы данные по студенту отображались в виде, показанном на рисунке 1.14 (Подпись Код студента изменить на Пропуск в студенческое общежитие №, поля Тип льготы на Примечания, увеличить шрифты).



Рисунок 1.14- Вид отчета Пропуск


1.3.13 Создание отчета с группировкой данных

Во время создания отчетов, кроме возможностей, которые предоставляются мастером отчетов, есть возможность самостоятельно редактировать отчеты в режиме конструктора. Можно создать отчет с группами в мастере, и затем добавить итоговые надписи для некоторых групп записей. Например, необходимо создать отчет Квитанции. Для этого необходимо с помощью мастера создать отчет, выбрав из таблиц поля ФИО, № комнаты, Тип льготы, Стоимость, Скидка. При этом необходимо: выбрать тип представления по студентам, сгруппировать по фамилии, выбрать макет По левому краю1.

Далее необходимо открыть отчет в режиме конструктора, преобразовать его, приведя к виду, показанному рис.1.15. При этом в поле Всего необходимо построить формулу =[Стоимость]-[Скидка]*[Стоимость], а месяц, за который генерируются квитанции можно вычислить, создав поле с формулой =MonthName(Month(Date())).


Рисунок 1.15— Вид отчета Квитанции


Если необходимо в отчете для каждой группы выводить общую информацию, например, подсчитывать какую-либо сумму, то такую информацию надо поместить Примечание группы соответствующей группы. Именно тогда такая итоговая информация будет выводиться в отчете по одному разу для каждой группы. Чтобы получить доступ к примечаниям группы, необходимо выполнить команду Вид / Сортировка и группировка. Появится диалоговое окно Сортировка и группировка, где надо для соответствующей группы в свойство Примечание группы ввести значение Да. После этого в отчете появится для группы примечание, куда необходимо поместить необходимые поля с вычислительным полем и соответствующие надписи.

В данном отчете необходимо создать примечание группы ФИО, и поместить туда поле с формулой, формирующей значение суммы к оплате.

Чтобы добавить в конце отчета итоговое поле Общая сумма, необходимо добавить поле в область Примечание отчета, изменить подпись на Общая сумма, построить в данном поле формулу =Sum([Стоимость]-[Стоимость]*[Скидка]).
1.3.14 Создания макросов

Для начала работы с макросами следует перейти на закладку Макросы. Чтобы создать макрос для открытия формы Поселение в общежитие, следует нажать кнопку Создать, в результате откроется окно Создание Макроса (рис. 1.16). Первый столбец таблицы предназначен для макрокоманд. Второй - для комментариев. В колонке Макрокоманда в выпадающем списке следует выбрать команду Открытьформу, в поле Имя формы задать Поселение в общежитие, в поле Режим задать режим, в котором будет выводиться данная форма, например, Форма. Следует сохранить макрос, предоставив ему имя Поселение в общежитие.


Рисунок 1.16 - Окно Создание макроса


Для того, чтобы просматривать не весь отчет Квитанции, а только одну квитанцию, необходимо: создать макрос; выбрать макрокоманду ОткрытьОтчет; задать Имя отчетаКвитанции; задать режим - Просмотр; в поле Условие ввести выражение [ФИО]=[Forms]![Поселение в общежитие]![ФИО]. Условие устанавливает, что значения поля ФИО отчета должно совпадать со значением одноименного поля в форме Поселение в общежитие. Выражение Forms определяет тип объекта. Следующий за именем формы ! определяет имя управляющего элемента. Макрос надо сохранить под именем Квитанция. Далее следует создать кнопку в форме Поселение в общежитие, перетянув имя макроса с закладки Макросы на форму в режиме конструктора.

Аналогично следует создать на форме Поселение в общежитие кнопку, при нажатии на которой будет генерироваться пропуск для поселенного студента.
1.3.15 Создания главной формы БД

Необходимо создать новую пустую форму с именем Панель управления, открыть эту форму в режиме конструктора, перетянуть макрос Поселение в общежитие в эту форму - будет создана кнопка. При нажатии на эту кнопку в режиме формы будет открываться форма Поселение в общежитие.

Далее следует создать пустую кнопку (перетянув ее из инструментальной панели). Начнет работу мастер Создание кнопок. Следует выбрать элементы Работа с формой, Открыть форму, выбрать форму Распределение студентов по комнатам, задать надпись или рисунок на кнопке. В результате, при нажатии на эту кнопку в режиме формы будет открыта форму Распределение студентов по комнатам.

Далее следует создать макросы для открытия других форм и отчетов, кнопки их открытия расположить в форме Панель управления.

Для того, чтобы форма Панель управления открывалась при открытии БД, следует создать макрос, в столбце Макрокоманда, в выпадающем списке выбрать команду Открытьформу, в поле Имя формы задать — Панель управления, в поле Режим задать — Форма и сохранить макрос, дав ему имя AutoExec.
1.4 Содержание отчета
Отчет должен содержать: цель работы; порядок выполнения работы с описанием структуры разработанных таблиц с собственной БД, схемой базы данных, с обязательным приведением текстов созданных для БД запросов на языке SQL; полученные результаты запросов, формы, отчеты и макросы, выводы по работе.
1.5 Контрольные задания и вопросы


  1. Какие типы данных используются в полях таблиц MS Access?

  2. Каким образом установить в Access связь типа «один-к-одному»?

  3. Для чего используются запросы?

  4. Какие виды запросов поддерживает MS Access?

  5. Как создать перекрестный запрос?

  6. Какие способы создания форм поддерживает MS Access?

  7. Как создать подчиненные формы?

  8. Чем отличаются отчеты от форм?

  9. Как прибавить вычислительное поле в отчет?

  10. Что такое макрос?

  11. В чем состоит особенность макроса с именем AutoExec?


2.Создание базы данных на MS Access и подключение ее к проекту Microsoft visual studio

2.1. Цель работы
Усовершенствовать навыки создания базы данных в MS Access; научиться создавать проект используя Microsoft Visual Studio и язык программирования C#; научиться подключать базу данных к проекту и использовать ее; научиться создавать базу данных в Microsoft Visual Studio.
2.2 Методические указания по организации самостоятельной работы студентов
Необходимо повторить следующий теоретический материал: создание нового Windows Application проекта в Microsoft Visual Studio, подключение базы данных к проекту, использование элементов для работы с базами данных.
2.3 Порядок выполнения работы и методические указания к ее выполнению
2.3.1 Создание базы данных Hostel Ms Access

Создайте новую базу данных в Ms Access под названием Hostel. В этой базе данных должно быть 3 таблицы: Priveleges, Rooms, Students (конструкторы показаны на рис.2.2-2.4). База данных должна иметь такую структуру, как показано на рисунке 2.1. После создания базы данных сохраните ее.

Рисунок 2.1 – Схема данных



Рисунок 2.2 – Конструктор таблицы Students


Рисунок 2.3 – Конструктор таблицы Rooms


Рисунок 2.4 – Конструктор таблицы Priveleges
Заполните созданные таблицы данными (примерные данные показаны на рис.2.5-2.7)


Рисунок 2.5 - Таблица Priveleges


Рисунок 2.6 - Таблица Rooms


Рисунок 2.7 - Таблица Students
2.3.2 Создание Windows Application в Microsoft Visual Studio

Для создания нового проекта в Microsoft Visual Studio необходимо выполнить следующую последовательность действий: File->New->Project Далее в диалоговом окне New Project выбрать Project type Visual C#->Windows, а потом в Templates выбрать Windows Forms Application. В поле Name задайте имя проекта «Hostel» (рис. 2.8), в поле Location укажите путь, куда вы хотите сохранить свой проект и нажмите кнопку OK.


Рисунок 2.8 - Выбор типа создаваемого проекта
2.3.3 Создание подключения к базе данных

После создания проекта щелкните правой кнопкой мыши по форме и нажмите пункт Properties. Задайте в поля Name и Text значение «MainForm». После этого на панели элементов Toolbox выберите элемент bindingSource и перетащите его на форму. Откройте свойства bindingSource1 и щелкните по полю DataSource. В выплывающем списке выберите AddProjectDataSource. В новом диалоговом окне выберите тип источника данных Database и нажмите кнопку «Next». На следующем этапе нажмите кнопку «NewConnection» и в новом диалоговом окне (рисунок 2.9) выберите путь к вашей созданной базе данных и нажмите кнопку ОК.



Рисунок 2.9 – Создание подключения
После этого нажмите кнопку «Next». После нажатия отобразится диалоговое окно, в котором будет спрашиваться, хотите ли скопировать файл (вашу базу данных) в ваш проект и изменить соединение. Следует выбрать кнопку «Да»(рисунок 2.10).


Рисунок 2.10 – Подтверждение создания локальной базы данных
После этого в окне создания подключения к базе данных необходимо выбрать элементы базы данных, которые нам будут нужны в проекте. Поэтому необходимо установить флажок на поле Tables и нажать кнопку Finish (рис.2.11).


Рисунок 2.11- Завершение создания подключения

2.3.4 Создание таблицы

Добавьте на форму элемент DataGridView. При добавлении элемента на форму будет показан выпадающий список, в котором вам необходимо выбрать источник данных для таблицы: bindingSource1->Rooms.
2.3.5 Добавление навигации к таблице

Выберите элемент bindingNavigator и перетащите его на форму. Во всплывающем окне для этого элемента выберите значение Noneдля поля Dock. Перейдите в свойства элемента bindingNavigator1. В поле BindingSource в выплывающем списке выберите источником данных roomsBindingSource. Теперь таблица имеет свою навигацию.

Аналогично добавьте и настройте элементы DataGridView и bindingNavigator для таблиц Students и Privileges.
2.3.6 Добавление меню формы

Выберите в панели Toolbox элемент menuStrip. Добавьте в меню команду File->Exit. После этого щелкните дважды по элементу File->Exit, таким образом вы перейдете к коду этой функции. Добавьте следующий код:

private void exitToolStripMenuItem_Click(object sender, EventArgs e)

{

Application.Exit();

}

Теперь при работе с приложением при нажатии на пункт меню Exit будет осуществляться выход из приложения.
Щелкните по форме и в окне Properties перейдите к событию FormClosing. Щелкните дважды по этому событию и добавьте следующий код:

private void MainForm_FormClosing(object sender, FormClosingEventArgs e)

{

roomsTableAdapter.Update(hostelDataSet);

privelegesTableAdapter.Update(hostelDataSet);

studentsTableAdapter.Update(hostelDataSet);

}
Щелкните левой кнопкой мыши по базе даных Hostel.mdb в Solution Explorer и окне Properties перейдите свойству Copy_To_Output_Directory. Установите в данном свойстве значение Copy if newer.

Конечный вид формы показан на рисунке 2.12. Запустите приложение, протестируйте.



Рисунок 2.12- Главная форма

2.3.6 Добавление меню формы

Добавьте в меню поля DataBase->Rooms, DataBase->Students, DataBase->Privileges.

Добавьте на форму новый элемент label и удалите два компонента dataGridView, оставив один. После этого щелкните дважды по пункту меню DataBase->Rooms, после чего вы перейдете к коду данной функции.

Добавьте следующий код:

private void roomsToolStripMenuItem_Click(object sender, EventArgs e)

{

bindingNavigator1.BindingSource = roomsBindingSource;

dataGridView1.DataSource = roomsBindingSource;

label1.Text= "Rooms";

}

Аналогично добавьте следующий код для пункта меню DataBase->Students:

private void studentsToolStripMenuItem_Click(object sender, EventArgs e)

{

bindingNavigator1.BindingSource = studentsBindingSource;

dataGridView1.DataSource = studentsBindingSource;

label1.Text= "Students";

}

И для пункта меню DataBase->Privileges.

private void privilagesToolStripMenuItem_Click(object sender, EventArgs e)

{

bindingNavigator1.BindingSource = privelegesBindingSource;

dataGridView1.DataSource = privelegesBindingSource;

label1.Text = "Privileges";

}
Щелкните правой кнопкой мыши по форме и перейдите к событию Load. Щелкните дважды по этому событию и добавьте к уже написанным строчкам кода в этой функции следующую строку:
dataGridView1.AutoGenerateColumns = true;
Теперь мы можем переключаться между таблицами для работы с ними во время работы программы с помощью пунктов меню. Конечный вид главной формы показан на рисунке 2.13. Запустите, протестируйте приложение.


Рисунок 2.13 - Конечный вид формы
2.3.6 Добавление отображения связанных таблиц

Добавим в проект новую форму, на которой покажем расселение студентов по комнатам. Через пункт Project/AddNewItem/WindowsForm добавьте к проекту новую форму. Назовите ее RSForm и сохраните в файле RSForm.cs. Измените значение свойства формы Text на Расселение: Выполните команду Data/ShowDataSources. В открывшемся окне Data Sources (рис.2.14) отображен источник данных HostelDataSet. Щелкните на стрелке вниз возле таблицы Rooms и выберите в выпадающем списке вид отображения Details. После этого щелкните по названию таблицы Roomsлевой кнопкой мыши, и не отпуская ее, перетащите на форму.



Рисунок 2.14 – Источник данных HostelDataSet

В результате на форме появятся средства для отображения полей таблицы (5 компонентов Label и TextBox), средство навигации по таблице (BindingNavigator), а в нижней части рабочей области среды разработки появились пять невидимых объектов предназначены для связи формы с таблицей (рис 2.15). Обратите внимание, в окне Data Sources под полями таблицы Rooms в виде подтаблицы располагается таблица Students Подтаблица показывает, что таблица Students является вторичной по отношению к таблице Rooms.



Рисунок 2.15 – Добавление к форме элементов для отображения таблицы Rooms

Выведем данные из таблицы студентов в табличном виде под полями таблицы комнат. Для этого следует щелкнуть по подтаблице Students под списком полей таблицы Rooms, выбрать в выпадающем списке вид отображения dataGridView и перенести подтаблицу на форму, поместив внизу формы. На форме появится dataGridView для отображения связанных записей из таблицы Students и невидимые компоненты для связи.

Добавьте кнопку (button) на форму и измените значение ее свойства Text на Подтвердить изменения. Щелкните на кнопке и в появившемся шаблоне функции обработки ее нажатия напишите код:

private void button1_Click(object sender, EventArgs e)

{

if (MessageBox.Show("Вы действительно хотите подтвердить изменения?", "Изменение данных", MessageBoxButtons.YesNo) == DialogResult.Yes)

{

roomsBindingSource.EndEdit();

roomsTableAdapter.Update(hostelDataSet);

studentsTableAdapter.Update(hostelDataSet);}

}

На главной форме следует добавить пункт меню View и в него подпункт Расселение. Добавьте код в обработчик события нажатия на пункт меню Расселение:

private void расселениеToolStripMenuItem_Click(object sender, EventArgs e)

{

RSForm rs = new RSForm();

rs.ShowDialog();

privelegesTableAdapter.Fill(hostelDataSet.Priveleges);

studentsTableAdapter.Fill(hostelDataSet.Students);

roomsTableAdapter.Fill(hostelDataSet.Rooms);

}

Запустите приложение. Теперь, если с главной формы перейти на форму Расселение, то можно увидеть отображение комнат и живущих в них студентов (рис 2.16). Протестируйте работу этой формы и изменение данных на ней.



Рисунок 2.15 –Форма отображения связанных данных

2.4 Содержание отчета
Отчет должен содержать: цель, задания, полученные от преподавателя и результат их выполнения (вид формы и код), выводы по работе.
2.5 Контрольные задания и вопросы
1 Как создать новое Windows Application проекта в Microsoft Visual Studio?

2 Как осуществляется подключение базы данных к проекту?

3 Какие элементы используются для подключения данных?

4 Какие элементы используются для отображения данных?

5 В чем отличие работы с данными при использовании различных СУДБ?

6 Как подтвердить изменения в таблице?

7 Как отобразить связанные данные?

  1   2


написать администратору сайта