Упражнения по базам данных MS ACCESS (методичка)
Это можно сделать с помощью элемента управления полем
Для поля «группа» изменить элемент управления:
Откройте вкладку «Подстановка» и установите следующие свойства для поля «группа»
Тип элемента управления |
Поле со списком |
Тип источника строк |
Таблица/запрос. |
Источник строк |
|
Ограничиться списком |
Да |
Аналогично изменить элемент управления для полей «дисциплина» и «студент», используя в качестве строк соответственно таблицы «дисциплины» и «анкета».
Задание 2
Создайте форму для заполнения таблицы «Зачет»
Перейдите на вкладку «формы»
Нажмите кнопку создать.
Выбрать Автоформа: ленточная, в качестве «источника данных» выберете таблицу «Зачет».
Пользуясь созданной формой «Зачет» введите данные по всем студентам своей группы по двум дисциплинам на свой выбор .
Зачет отмечайте флажком .
У такой формы контроля, как «зачет» может быть два состояния: «зачет» или «незачет». Для индикации состояния, которое может иметь одно из двух допустимых значений, используется элемент управления типа флажок, в чем Вы и убедились
Теперь сделаем так, чтобы рядом с флажком появлялась надпись «зачет», а если флажка нет ( то есть Вы не отметили его галочкой ), то пусть появляется надпись «незачет»
Задание 3
Для того, чтобы посредством флажка ввести поле одно из двух значений надо воспользоваться функцией управления Iif , а для этого следует выполнить следующие действия:
Откройте форму «Зачет» в режиме конструктора
Справа от поля типа флажок ( .) добавить элемент типа «поле»:
Щелкните мышкой по значку аб на панели инструментов и справа от флажка еще раз щелкните мышкой, появится поле с произвольной надписью ( поле…..).
Нажмите «правую мышку» на этом поле, раскройте пункт «свойства», Введите в свойство «данные» следующее выражение
=Iif([Результат];”Зачет”;”Незачет”) .
Установить для свойства “Вывод на экран” для надписи ( надпись находится слева от поля ) поля значение “нет”
Задание 4
Просмотрите форму «Зачет» в режиме формы. Теперь установленный флажок будет соответствовать значению «зачет», а снятый флажок – значению «незачет».
Пользуясь новым элементом управления «флажок» проставьте результаты по зачету заново СОХРАНИТЬ!!!!
Упражнение 6 Система управления базами данных MS Access
Тема: Проектирование многотабличных баз данных
Связи между таблицами
Таблица состоит из строк и столбцов и имеет уникальное имя в базе данных. База данных содержит множество таблиц, связь между которыми устанавливается с помощью совпадающих полей. MS Access поддерживает четыре типа отношений между таблицами:
Один-к-одному (каждая запись в одной таблице соответствует только одной записи в другой таблице
Один-ко-многим (каждая запись в одной таблице соответствует многим записям в другой таблице)
Много-к-одному (аналогична записи «один-ко-многим)
Много-ко-многим ( одна запись из первой таблицы может быть связана более чем с одной записью из второй таблицы либо одна запись из второй таблицы может быть связана более чем с одной записью из первой таблицы )
Тип отношения «один-ко-многим» является наиболее общим
Рассмотрим на конкретном примере, для чего может понадобиться связь между таблицами.
Допустим Вы уже по всем группам заполнили таблицы «Экзамен», и «Зачет» полностью и выяснилось, что одна из дисциплин в таблице «дисциплины» названа неверно, что в свою очередь отразилось на заполнении таблиц «Зачет», либо «Экзамен». Аналогичная ситуация может случиться с фамилией студента и.т.д…..
Как сделать, чтобы исправив название дисциплины в таблице «Дисциплины», либо, изменив фамилию студента в таблице «Анкета», таблицы « Зачет» и «Экзамен» были бы исправлены автоматически. Для этого надо установить связи между таблицами:
Задание 1
Установите связь между таблицами «Зачет» –[ «Дисциплины», «Анкета» ]
Отношение «один-ко-многим» создается в том случае, когда поле , по которому устанавливается связь ( со стороны отношения «один») должно иметь свойство:
Индексированное поле - Да, совпадения не допускаются»
Это относится к полю «фамилия» в таблице «анкета»
и полю «дисциплина» - в таблице «дисциплины»
Проверьте наличие этих свойств в ваших таблицах, прежде, чем приступить к выполнению задания
Для этого выполните следующие действия:
Перейти в режим «Таблицы»
Если у вас есть открытые таблицы, или формы - закройте их.
Нажмите кнопку «Схема данных» на панели управления.
Пользуясь «правой мышкой» добавьте в схему все таблицы «Зачет» ,«Анкета», «Дисциплины»
Закройте окно «Добавление таблицы» В схеме данных должны появиться три схемы выше указанных таблиц.
Поместите указатель мыши на поле «Дисциплины» таблицы «Зачет» и, нажмите левую кнопку и, не отпуская ее, перетащите появившийся значок поля на поле «Дисциплина» таблицы «Дисциплины». Появится диалоговое окно «Связи»
Поставьте флажок «Обеспечение целостности данных»
Поставьте флажок «Каскадное обновление связанных полей»
Нажмите кнопку Обьединение.
Выберете опцию 3, OK.
Нажмите кнопку Создать. , чтобы подтвердить создание связи.
Перейдите в окно « Схема данных», Вы должны увидеть появившуюся связь «один-ко-многим»
Аналогично создайте связь между полем «фамилия» таблицы «анкета» и полем «студент» таблицы «Зачет». (последовательность действий та же, что и при установлении связи между таблицами «Дисциплины» – «Зачет», только связываются другие поля)
Задание 2
Если Вы правильно выполнили задание 1, то:
После установления связи изменение полей «фамилия» и «дисциплина» соответственно в таблицах «анкета» «дисциплины» автоматически повлечет связанных с этими полями полей «дисциплина» и «студент»в таблице «Зачет». В свою очередь Вы не сможете ввести в таблицу « Зачет» новые фамилии, или дисциплины, если они отсутствуют в таблицах «Анкета» и «Дисциплины»
Проверьте это!!!!!…
Задание 3
Установите связь между таблицами «Экзамен» - [«Анкета», «Дисциплины»] Проверьте, как работают связи!!! СОХРАНИТЬ!!!!!!
Упражнение 7 Система управления базами данных MS Access
Тема: Подчиненные формы.
Просмотр данных, имеющих отношение один-ко-многим
Допустим, Вам требуется посмотреть данные результатов экзамена по каждому студенту в отдельности, либо по каждой дисциплине в отдельности, используя уже готовую таблицу, где у Вас занесены общие результаты по всем студентам и по всем дисциплинам.
Для этого используется механизм создания подчиненных форм.
Задание 1.
Создать подчиненную форму по результатам сдачи экзаменов с выборкой по каждому студенту в отдельности.
Выполнить последовательно действия:
Откройте Вашу базу данных
Выберете вкладку «формы»
Нажмите кнопку создать и выберете опцию «Мастер форм», не выбирая источник данных, нажмите кнопку ОК
В окне «Создание форм» выберете из списка Таблицы/запросы таблицу «Экзамен» (это будет подчиненная форма»). Поместите в «выбранные поля» поля «дисциплина», «студент», «результат контроля»
Не выходя из окна «Создание форм», выберете из списка «Таблицы/запросы» таблицу «Анкета» (это будет главная форма) и поместите в список «Выбранные поля» поле «Фамилия» .
Нажмите кнопку далее, в результате откроется следующее окно диалога «Создание форм». В этом окне Вам предстоит определить главную и подчиненную таблицы.
Щелкните мышкой по таблице «Анкета».
Обратите внимание на правую часть окна: в верхней части отображаются поля главной («Анкета»), а в нижней части – подчиненной («Экзамен») таблицы.
Выбрать опцию «подчиненные формы»
Определив главную и подчиненную таблицы, нажмите кнопку далее .
Выберете внешний вид – табличный
Выберете стиль на Ваше усмотрение
Форму назвать « Анкета для экзамена», название подчиненной формы не изменять.
Нажать готово .
Созданная форма вполне приемлема для использования.
Попробуйте менять фамилию студента ( используйте кнопки перемещения по записям внизу окна) , и Вы увидите как меняется содержимое таблицы «Экзамен». Причем информация, появляющаяся в таблице относится только к выбранному Вами студенту.
Убедитесь в этом!!! В этой форме явно лишняя информация в подчиненной таблице «Экзамен», ведь вполне достаточно фамилии студента, которая появляется вверху над результатами контроля. Это можно исправить в конструкторе форм в следующем упражнении.
Упражнение 8 Система управления базами данных MS Access
Тема: Форматирование форм.
Внешний вид формы можно изменить:
Изменить стиль
Изменить шрифт
Добавить надписи
Удалить ненужные поля
Вставить рисунок, диаграмму и.т.д.
Задание 1
Измените стиль формы « Анкета» по своему усмотрению, для этого:
Откройте форму в режиме конструктора
Нажмите на панели инструментов кнопку «Автоформат»
Выберете нужный стиль
Задание 2
Измените цвет фона и цвет шрифта для каждого поля по своему усмотрению
Вставьте на место поля «код » рисунок:
Нажмите кнопку «рисунок» на панели инструментов, щелкните мышкой по тому месту , где должен быть рисунок (поле «код») и выберете любой из файлов в папке «Programm FilesMicrosoft OfficeClipart».
Задание 3
Попробуйте изменить размер поля для ввода фамилии по высоте, для этого надо щелкнуть мышкой по этому полю и изменить появившиеся границы поля.
Измените шрифт (размер,вид,цвет …) для поля «Фамилия»
Задание 4
Убрать в подчиненной форме «Экзамен» поле «Студент»:
Открыть форму «Анкета для экзамена» .(В подчиненной форме «Экзамен» желательно убрать поле «Студент», так как фамилия уже присутствует в верхней части формы)
уберите поле «студент»:
Открыть форму в режиме конструктора
Выделить поле «студент» и «вырезать» это поле.
Выйдите из режима конструктора и посмотрите, как теперь выглядит форма
Упражнение 9 Система управления базами данных MS Access
Тема: Выбор данных из таблиц с помощью запросов
Вы уже познакомились с конструктором запросов, когда использовали их для подстановки в качестве источника строк при построении таблиц.
Задание 1
Добавьте в таблицу “Экзамен” поле “Преподаватель” со следующими характеристиками:
Тип данных – текстовый
Подпись – преподаватель
Подстановка – используйте поле со списком (источник строк – таблица “преподаватели”
Задание 2
У Вас в таблице «Экзамен» должно быть не менее 20 записей и эти записи должны содержать информацию:
Не менее, чем по трем дисциплинам
Оценки должны быть разные ( от отлично до неудовлетворительно )
Студенты должны быть из разных групп ( хотя бы из двух)
Убедитесь в том, что записей в таблице достаточное количество, в противном случае добавьте новые записи.
Задание 3
Создайте запрос по выбору записей, содержащих студентов, сдавших все экзамены на «отлично». Для этого надо выполнить следующие действия:
Выбрать в окне базы данных вкладку «Запрос», нажать кнопку Создать .
В окне диалога «Новый запрос» выберете опцию «Конструктор»
Access предложит Вам выбрать таблицу, выберете таблицу «Экзамен», нажмите кнопку добавить и закройте окно диалога.
Из таблицы последовательно выберете поля «Студент», «дисциплина», «результат» и перетащите выбранные поля по очереди в бланк запроса.