Суханова Н.Т._Управление данными

advertisement
Н.Т. Суханова
УПРАВЛЕНИЕ ДАННЫМИ
Нижний Новгород
2013
Министерство образования и науки Российской Федерации
3
ФГБОУ ВПО «Нижегородский государственный педагогический университет
имени Козьмы Минина»
Н.Т. Суханова
УПРАВЛЕНИЕ ДАННЫМИ
Учебно-методическое пособие
Нижний Новгород
2013
4
УДК 681.3.06
ББК 32.973
С - 91
Рецензенты:
Доктор, физ.-мат. наук, профессор А.Н. Супрун
Канд. физ.-мат. наук, доцент Т.М. Вежелис
Суханова Н.Т.
Управление данными: учебное пособие: – Н.Новгород: НГПУ им.
К.Минина, 2013. – 127 с.
В учебно-методическом пособии рассматриваются вопросы практического характера,
которые представлены виде лабораторных работ. Каждая лабораторная работа включает:
цель, теоретические сведения, практические задания, рекомендации по выполнению заданий,
справочный материал, контрольные вопросы. Пособие проиллюстрировано рисунками и
таблицами, которые помогут в освоение материала. В приложениях представлены
дополнительные сведения по представленному материалу.
Учебно-методическое
пособие
может
использоваться
студентами
других
специальностей, а также аспирантами и преподавателями при изучении систем управления
баз данных и баз данных.
Учебно-методическое пособие предназначено для студентов, обучающихся по
направлению подготовки
230200 «Информационные системы», профиль подготовки:
«Информационные системы и технологии».
УДК 681.3.06
ББК 32.973
© Суханова Н.Т., 2013
©НГПУ им. К. Минина
5
Введение
Одной из характерных особенностей современного общества является
резкий
рост
создаваемых
информационных
систем
организационного
управления. Практически в каждой организации функционируют такие
системы. Основной структурной частью информационной системы является
база данных, которая создается и функционирует на основе систем управления
базами данных. Это говорит о необходимости специалисту в области
информационных систем и технологий владеть знаниями, умениями и
навыками как создания информационных систем, так и обслуживания
соответствующих информационных систем и баз данных.
Дисциплина
«Управление
данными»
входит
в
базовую
часть
профессионального цикла направления подготовки 230200 «Информационные
системы».
Целью преподавания дисциплины
«Управление данными» является
теоретическая и практическая подготовка будущих специалистов к работе с
базами данных как с основой любой информационной системы. Приоритетным
направлением курса является приобретение студентами практических навыков
проектирования, построения и использования баз данных. При этом основное
значение приобретает изложение теоретических основ и методов, на которых
базируются новые технологии управления данными и знание которых
необходимо для адекватного использования этих технологий. Дисциплина
направлена на решение следующих задач:
 познакомить
студентов с основными принципами организации баз и
банков данных;
 дать знания об основных этапах проектирования баз данных;
 способствовать приобретению практических навыков по проектированию
и разработке баз данных.
6
Цель данного учебно-методического пособия состоит в формировании
концептуальных представлений об основных принципах построения баз
данных, систем управления базами данных; о математических моделях,
описывающих базу данных; о принципах проектирования баз данных; а также
анализе основных технологий реализации баз данных.
В
учебно-методическом
пособии
представлены
одиннадцать
лабораторных работ, которые включают:
 знакомство с СУБД Access;
 работу с таблицами;
 приведение таблицы к 3-й нормальной форме;
 создание базы данных;
 разработку однотабличных форм;
 использование специальных элементов управления;
 разработку многотабличных форм;
 работу с данными при помощи запросов;
 создание отчетов;
 создание панели управления приложения;
 создание макросов;
 работу с макросами: создание групп макросов, применение условий в
макросах.
Структурно каждая лабораторная работа включает: цель, теоретические
сведения, практические задания, рекомендации по выполнению заданий,
справочный материал, контрольные вопросы.
Пособие проиллюстрировано рисунками и таблицами, которые помогут в
освоение материала. Помимо этого, представлено четыре приложения,
включающие необходимые дополнительные сведения по представленному
материалу.
7
Лабораторная работа № 1
Знакомство с СУБД ACCESS
Работа с таблицами
(часть 1)
Цель: познакомиться со средой СУБД Access, освоить приемы и методы
работы с информацией, представленной в таблице базы данных в режиме
таблицы.
Задачи: составить представление о структуре интерфейса, найти
заданную информацию с помощью пункта меню СПРАВКА. Освоить приемы
работы с макетом таблицы, научиться работать с информацией, представленной
в таблице базы данных в режиме таблицы, обмениваться данными из
приложений Excel и Word.
Теоретические сведения
База данных Access включает следующие сохраняемые в одном MDBфайле объекты:
- таблицы, запросы, схемы данных, имеющие непосредственное
отношение к базе данных;
- формы, отчеты, страницы доступа к данным, макросы и модули,
называемые объектами приложения.
Запустить приложение Access можно из главного меню – кнопка Пуск.
Далее раскрыть список Все программы, выбрать последовательно Microsoft
Office, Microsoft Office Access 2007. На экране появится окно приложения,
представленное на рисунке 1.1.
Приступая к созданию новой базы данных, необходимо щелкнуть
пиктограмму Новая база данных. В правой части окна появится панель Новая
база данных (рисунок 1.2). Здесь необходимо указать маршрут сохранения
новой базы данных (открыть нужный диск, папку, подпапку, если необходимо
8
и т.д.), щелкнув на значке папки в строке Имя файла. В поле ввода Имя файла
ввести имя новой базы данных. А затем щелкнуть кнопку Создать.
В результате на экране появится открытое приложение Microsoft Office
Access (рисунок 1.3).
Рисунок 1.1 – Стартовое окно приложения Microsoft Office Access
Таблицы (Tables) создаются пользователем для хранения данных об одной
сущности — одном информационном объекте модели данных предметной
области.
Справка
База данных Access может включать до 32 768 объектов (включая
формы, отчеты и т. д.). Одновременно может открываться до 2048 таблиц.
Таблицы можно импортировать из баз данных dBase, FoxPro, Paradox и других
приложений, из баз данных архитектуры клиент-сервер, таких как Microsoft
9
SQL Server, или из электронных таблиц, таких как Excel и Lotus 1-2-3. База
данных Access позволяет работать с таблицами перечисленных источников
путем организации связи с ними.
Рисунок 1.2 – Окно создания новой базы данных
Запросы (Queries) — основной инструмент обработки информации в БД.
Запрос на выборку является базовым для всех остальных видов запросов и
предназначен для выборки нужных данных из одной или нескольких связанных
таблиц.
Справка
Результатом выполнения запроса является таблица, которая может
быть использована наряду с другими таблицами базы данных при обработке
данных. Запросы действия позволяют обновлять, удалять или добавлять
10
данные в таблицы, а также создавать новые таблицы на основе уже
существующих.
Рисунок 1.3 – Окно приложения Microsoft Office Access
Схемы данных (Relationships) определяют, с помощью каких полей
таблицы связываются между собой, как будет выполняться объединение
данных этих таблиц, нужно ли проверять связную целостность при добавлении
и удалении записей, изменении ключей таблиц.
Формы (Forms) являются основным средством создания диалогового
интерфейса приложения пользователя. Форма создается для ввода и просмотра
взаимосвязанных данных базы на экране в виде, соответствующем привычному
для пользователя документу.
11
Справка
Кнопочные
формы
могут
использоваться
для
создания
панелей
управления в приложении. В формы могут вставляться рисунки, диаграммы,
звуковые фрагменты, видео. Форма может включать подчиненные формы. В
форму могут включаться процедуры обработки событий, которые позволяют
управлять процессом ввода, просмотра и корректировки данных.
Отчеты
(Reports)
предназначены
для
формирования
выходных
документов любых форматов, содержащих результаты решения
задач
пользователи, и вывода их на печать.
Справка
Как и формы, отчеты могут включать процедуры обработки событий.
Использование графических объектов позволяет дополнять данные отчета
иллюстрациями.
Страницы доступа к данным (Data Access Pages) являются диалоговыми
Web-страницами, которые поддерживают динамическую связь с базой данных
и позволяют просматривать, редактировать и вводить данные в базу, работая в
окне браузера.
Макросы (Macros) позволяют автоматизировать некоторые действия в
приложении пользователя.
Справка
Макрос является программой, состоящей из последовательности
макрокоманд, которая выполняется при наступлении некоторого события в
объекте приложения или его элементе управления.
Если помощник отключен, окно справки открывается немедленно.
Если в окне справки не отображаются вкладки Содержание, Мастер
ответов и Указатель, нажмите кнопку Показать.
Для работы с оглавлением справки перейдите на вкладку Содержание;
для ввода вопроса в окне справки — на вкладку Мастер ответов; для выбора из
списка ключевых слов или поиска по конкретным словам — на вкладку
12
Указатель. Добавление ключевых слов в окно поиска сужает список
найденных разделов.
Чтобы просмотреть подсказку для команды меню, кнопки панели
инструментов или области экрана, в меню Справка выберите пункт Что это
такое?, а затем перенесите знак вопроса на элемент, сведения по которому
требуется просмотреть, и щелкните на нем.
Чтобы просмотреть подсказку к параметру диалогового окна, нажмите в
диалоговом окне кнопку с вопросительным знаком, а затем щелкните нужный
параметр.
Чтобы просмотреть название кнопки на панели инструментов, задержите
указатель мыши на нужной кнопке, пока не отобразится ее название.
Задание:
Создать файл базы данных с именем «Lab2.mdb».
Для этого:
1. Создайте файл базы данных с именем «Lab2.mdb».
a) ПУСК → ВСЕ ПРОГРАММЫ → MICROSOFT OFFICE →
MICROSOFT OFFICE ACCESS 2007.
b) Пиктограмма НОВАЯ БАЗА ДАННЫХ.
c) Указать папку, где будет храниться файл и его имя Lab2.mdb.
2. С помощью команды ВНЕШНИЕ ДАННЫЕ→ИМПОРТ БАЗЫ
ДАННЫХ ACCESS
импортируйте из файла «Lab2.mdb» таблицу
«TablelNF».
3. В диалоговом окне Импорт объектов выбрать на вкладке Таблицы
откройте таблицу «TablelNF».
Обработка данных в режиме таблицы и формы
Обработка данных в режиме таблицы и формы включает просмотр,
добавление и удаление записей, обновление полей.
13
При просмотре записей в режиме таблицы или формы можно
осуществлять поиск записей, сортировку записей по одному или нескольким
полям, фильтрацию записей в соответствии с заданными условиями отбора.
В режиме таблицы, где данные выводятся в формате строк и столбцов,
можно настраивать макет таблицы, устанавливая нужный состав столбцов,
изменяя размещение и ширину столбцов, высоту строк, шрифт данных и т. д.
Заметим, что в этом режиме могут быть представлены таблицы, запросы и
формы.
Пользователь может корректировать данные таблиц в режиме таблицы
или формы, выполняя добавление и удаление записей, а также обновление
значений полей. Для выполнения корректировки пользователь должен иметь
соответствующие права доступа.
Настройка внешнего вида таблиц
В Microsoft Office Access 2007 существует понятие макета таблицы.
Макет таблицы – это вид, в котором данные отображаются в окне в режиме
таблицы. По умолчанию формируется стандартный макет таблицы, но Access
позволяет его изменить. При этом можно изменить его для всех таблиц базы
данных, а можно настроить каждую таблицу индивидуально. Чтобы изменить
макет для всех таблиц, нужно изменить параметры Access с помощью кнопки
Параметры Access, которая находится в главном меню приложения – кнопка
Office.
1) У вас сейчас в режиме таблицы должна быть открыта таблица
TablelNF.
Щелкните кнопку Office
, затем кнопку Параметры Access.
Выберите в списке пункт Таблицы (рисунок 1.4). Появится в диалоговом окне
Параметры Access Настройка внешнего вида таблицы Access. Элементы этого
окна позволяют изменить вид таблицы.
14
2) Установите, например, переключатель приподнятое в группе Эффекты
сетки и ячеек. Можно убрать линии сетки и изменить их цвет, изменить цвет
фона, вид границы и линий, нужный тип и размер шрифта.
3) Изменение высоты строки. Высота строк таблицы легко регулируется
путем перетаскивания мышью нижней границы строки. Подведите указатель к
нижней границе первой строки в области выделения. Он должен превратиться в
двунаправленную стрелку. Протащите границу вниз. Обратите внимание, что
все строки таблицы всегда имеют одну и ту же высоту, поэтому изменение
высоты распространяется сразу на все строки таблицы.
Рисунок 1.4 – Диалоговое окно форматирования таблицы
4) Изменение ширины столбца. Аналогично можно изменить ширину
любого столбца таблицы. Подведите указатель к правой границе столбца
НазваниеКлиента в области заголовка так, чтобы указатель превратился в
15
двунаправленную стрелку, и перетащите границу вправо, пока не получите
нужную ширину.
Самый простой способ установить ширину столбца так, чтобы были
видны полностью все данные и заголовок, — щелкнуть правой кнопкой мыши в
области заголовка. Выбрав команду Ширина столбца (см. рисунок 1.5). Эту
операцию можно применять к нескольким выделенным столбцам.
Рисунок 1.5 – Диалоговое окно Ширина столбца
Установите ширину всех столбцов по ширине данных.
5) Скрытие столбцов. Если таблица широкая и не все столбцы
помещаются на экране, можно скрыть некоторые столбцы, оставив самые
важные.
Задание:
Скрыть столбец ТелефонКлиента. Отобразить столбец ТелефонКлиента.
Для этого:
 Выделите столбец ТелефонКлиента, щелкнув на его заголовке
правой кнопкой мыши.
 Выберите команду Скрыть столбцы.
 Скрыть столбец можно также, перетащив его правую границу влево
до исчезновения столбца.
 Чтобы вновь отобразить скрытый столбец, щелкнуть правой
кнопкой мыши по заголовку столбца, выбрать команду Отобразить
столбцы. Появляется диалоговое окно Отображение столбцов.
 Установите флажок у строки ТелефонКлиента и нажмите кнопку
Закрыть.
6) Закрепление столбцов
16
Задание:
Скройте столбцы Код, НазваниеКлиента, ТелефонКлиента. Выделите два
столбца ФамилияСотрудника, ТелефонСотрудника.
Выберите команду Закрепить столбцы из контекстно-зависимого меню
столбца.
Теперь при прокрутке таблицы вправо столбцы ФамилияСотрудника и
ТелефонСотрудника будут постоянно отображаться в левой части таблицы.
 Для освобождения закрепленных столбцов необходимо выбрать
команду Освободить все столбцы из контекстно-зависимого меню
столбца.
7) Изменение порядка расположения столбцов на экране. Столбец
выделяется щелчком кнопки мыши на его имени. Протащив курсор мыши
поперек столбцов, можно выделить несколько столбцов. Выделенный столбец
перетаскивается на новое место при установке курсора на его имени (области
маркировки столбца).
Задание:
Переместите столбец НазваниеТовара перед столбцом ДатаЗаказа.
8) Закройте таблицу TablelNF. При этом появится диалоговое окно с
вопросом, хотите ли сохранить изменения макета. Ответьте Нет.
Задание:
Откройте таблицу TablelNF. Поэкспериментируйте с переходами по
записям. Дополните таблицу TablelNF новой записью, данные произвольные,
частично можно скопировать из другой записи. Счетчик заполняется
автоматически.
17
Переход между записями в таблице
Переход между записями в
таблице или форме осуществляется с
помощью кнопок перехода (поле
номера записи). В режиме таблицы
кнопки перехода расположены в
нижней части окна.
Сортировка записей в таблице
Сортировка записей в порядке возрастания или убывания значений
одного поля может быть выполнена как в режиме таблицы, так и в режиме
формы. Для этого курсор устанавливается в поле сортировки и нажимается
соответствующая кнопка в группе команд Сортировка и фильтр на панели
инструментов:
— кнопка Сортировка по возрастанию (Sort Ascending),
— кнопка Сортировка по убыванию (Sort Descending).
Способ упорядочивания данных зависит от их значений и типа. Данные
могут быть отсортированы по алфавиту, по числовым значениям или по дате.
Сортировка записей таблицы по нескольким полям выполняется с
помощью фильтра.
Задание:
Отсортируйте записи по полю:
ФамилияСотрудника по возрастанию.
ДатаЗаказа по возрастанию.
ЦенаТовара по убыванию.
Код по возрастанию.
18
Поиск записей
Поиск записи по номеру в режиме таблицы или формы
 Таблица открыта в режиме таблицы или форма в режиме формы.
 Дважды щелкните число в поле номера записи, чтобы выделить его,
или нажмите клавишу F5.
 Введите номер нужной записи и нажмите клавишу ENTER.
Задание:
Осуществите переход на двухсотую запись. Осуществите переход на
2000-ую запись.
4.2. Поиск вхождений образца в поле Поиск конкретных вхождений
образца. Для поиска записей таблицы по заданному значению поля нужно
нажать кнопку панели инструментов Найти (Find)
в группе команд
Найти или щелкнуть в поле Поиск в последней строке окна (Статусная
панель). На экране появится диалоговое окно Поиск и замена (рисунок 1.6).
Рисунок 1.6 – Диалоговое окно поиска и замены
В окне Поиск и замена (Find and Replace) (рисунок 1.6) строка Образец
(Find What) заполняется задаваемым значением поля.
19
Устанавливается область поиска в текстовом поле Поиск в: только в
текущем поле – для этого выбрать имя текущего поля или по всем полям во
всех записях таблицы – для этого выбрать имя таблицы.
В случае выполнения команды поиска и замены (вкладка Замена)
направление поиска устанавливается в строке Просмотр (Search) и может
принимать значения Вверх (Up), Вниз (Down), Все (All).
В строке Совпадение (Match) можно задать степень совпадения значений:
С начала поля,С любой частью поля, Поля целиком (Start of Field, Any Part
of Field, Whole Field).
Чтобы при сравнении значений учитывался регистр и формат поля, надо
соответственно отметить «галочкой» параметр
С учетом регистра (Match
Case) или С учетом формата полей (Search Fields As Formatted).
После нажатия в диалоговом окне кнопки Найти далее (Find Next)
отыскивается первая запись, удовлетворяющая условию поиска. Для получения
следующей записи, удовлетворяющей условию поиска, нужно продолжить
поиск, вновь нажав кнопку Найти далее. Образец поиска может быть задан
полным значением поля или его частью. Могут использоваться также
операторы шаблона.
Задание:
 Найдите
записи,
соответствующие
фамилии
сотрудника
«Воронова».
 Найдите записи, в которых поставщиком является ООО Экзотика
(поиск в поле НазваниеПоставщика).
 Найдите записи, в которых поставщиком является Россия (поиск в
поле НазваниеПоставщика), при этом в списке Совпадение
выберите С любой частью поля.
20
Подстановочные знаки для поиска и замены
Подстановочные знаки используются при указании образца поиска в
следующих случаях:
 известна только часть значения;
 требуется найти значения, начинающиеся с конкретной буквы или
соответствующие определенному шаблону.
Подстановочные знаки (таблица 1) имеет смысл использовать с
текстовыми типами данных, хотя возможно их использование и с другими
типами данных, например с датами, если не были изменены региональные
настройки для этого типа данных в панели управления Microsoft Windows.
Таблица 1.1– Подстановочные знаки
Знак
*
Описание
Пример
Соответствует любому количеству знаков. wh* — поиск слов what,
Может использоваться в качестве первого white и why
или последнего знака текстовой строки
?
Соответствует любому текстовому знаку
B?ll — поиск слов Ball,
Bell и Bill
[]
Соответствует любому одному знаку из B[ae]ll — поиск слов Ball
заключенных в скобки
!
и Bell, но не Bill
Соответствует любому одному знаку, кроме b[!ae]ll — поиск слов bill
заключенных в скобки
-
и bull, но не bell или ball
Соответствует любому знаку из диапазона. b[a-c]d — поиск слов
Необходимо указывать этот диапазон по bad, bbd и bcd
возрастанию (от A до Z, но не от Z до A)
#
Соответствует любой цифре
1#3 — поиск значений
103, 113, 123
21
Задание:
 Используя подстановочные знаки, создайте образец поиска и
осуществите поиск записей, соответствующих заказам, сделанным
в 1998 году (поле ДатаЗаказа): *98.
 Используя подстановочные знаки, создайте образец поиска и
осуществите поиск сотрудников, в фамилии первая буква не А, не
Б, не В, не Г. [!АБВГ]*.
 Проверьте,
какие
записи
будут
найдены,
если
для
поля
ТелефонПоставщика создать образец поиска (0 ## ) *.
 Создайте образец поиска товаров, название которых начинается с
букв диапазона от A до F (поле НазваниеТовара).
Замена значений в поле Заменить на
Если требуется заменить конкретные обнаруженные при поиске значения,
следует воспользоваться диалоговым вкладкой Замена (Replace) диалогового
окна Поиск и замена.
1) Для этого раскройте вкладку Замена (Replace) или выберите в кнопку
Заменить
в группе команд Найти панели инструментов.
2) Введите образец поиска в поле Образец и подставляемое значение в
поле Заменить на.
Если точное значение для поиска неизвестно, можно использовать в поле
Образец подстановочные знаки.
3) Установите в диалоговом окне Поиск и замена все остальные нужные
параметры.
4) Выполните одно из следующих действий:
 Для одновременной замены всех вхождений образца нажмите
кнопку Заменить все.
 Для того чтобы выполнять замену каждого вхождения по
отдельности, нажимайте кнопку Найти далее, а затем кнопку
22
Заменить. Для пропуска текущего вхождения и поиска следующего
нажмите кнопку Найти далее.
Задание:
 Замените фамилию сотрудника Бабкина на свою фамилию в пяти
первых найденных записях.
 Выполните поиск своей фамилии.
 Сделайте обратную замену своей фамилии на фамилию Бабкина во
всех записях.
 В поле ТелефонСотрудника замените код города (044) на (444) и
обратно.
Использование фильтров для поиска группы записей
В Access 2007 предусмотрено четыре способа отбора записей с помощью
фильтров: фильтр по выделенному фрагменту, фильтр по форме (в справке по
русской версии Access 2003 он называется обычным фильтром), «фильтр для» и
расширенный фильтр.
При работе с фильтрами используются три кнопки панели инструментов:



— Выделение;
— Дополнительно;
— Применить фильтр, она же Удалить фильтр.
Фильтр по выделенному
Самым простым способом фильтрации является применение фильтра
Выделение.
1) Щелкните на любой ячейке столбца НазваниеКлиента со значением
Alfreds Futterkiste.
2) Нажмите на панели инструментов кнопку Выделение.
23
Будут отобраны все записи, имеющие в поле НазваниеКлиента значение
Alfreds Futterkiste.
Обратите внимание, что рядом с кнопками перемещения по записям на
нижней границе окна появилось слово С фильтром.
Таким образом, глядя на таблицу, всегда можно видеть, все ли записи
отображаются в данный момент. Число 6 указывает количество отобранных
записей.
Фильтры сохраняются автоматически при сохранении таблицы или
формы!
При повторном открытии таблицы или формы можно снова применить
сохраненный фильтр.
3) Нажмите кнопку Режим
панели инструментов, чтобы
переключиться в окно конструктора.
4) Если на экране нет окна Окно свойств, нажмите на панели
инструментов кнопку Страница свойств в группе команд Показать или
скрыть.
Свойство Фильтр (Filter) таблицы имеет следующее значение:
(Table1NF.НазваниеКлиента="Alfreds Futterkiste")
Выражение слева от знака равенства (=) — значение из столбца
подстановки
для
поля
НазваниеКлиента.
При
сохранении
таблицы
установленный фильтр сохраняется в свойстве Фильтр (Filtered) и может быть
снова применен.
Задание:
 Закройте таблицу TablelNF. Ответьте Да (Yes) на вопрос, нужно ли
сохранять макет таблицы.
 Откройте таблицу снова — отобразятся все записи.
24
 Нажмите на панели инструментов кнопку Применить фильтр
(Apply Filter) — снова будет применен тот же фильтр. Кнопка
Применить
фильтр
(Apply
Filte)
находится
в
положении
«нажата».
5) Чтобы удалить фильтр, нажмите ту же кнопку еще раз — она теперь
превратилась в кнопку Удалить фильтр (Remove Filter).
Фильтр по заданному условию
Если образец для отбора записей не виден в столбце таблицы, можно
применить фильтр по заданному условию. Он позволяет ввести вручную
образец текста для отбора.
Задание:
1) Перейдите в режим таблицы (кнопка Режим на панели инструментов).
1) Щелкните правой кнопкой мыши на любой строке столбца
НазваниеПоставщика. Откроется контекстное меню.
2) Введите в диалоговом окне Настраиваемый фильтр (в контекстнозависимом меню Текстовые фильтры – Равно) строку Tokyo Traders (рисунок
1.7) и нажмите клавишу Enter. Будут отобраны только товары данного
поставщика (85 записей).
Если нажать клавишу Tab, а не Enter, контекстное меню не исчезает с
экрана и можно вводить другие критерии отбора. При нажатии клавиши Tab
выборки все время будут обновляться.
Рисунок 1.7 – Диалоговое окно Настраиваемый фильтр
3) Удалите фильтр.
25
В поле Фильтр для (Filter tor) можно указывать не только конкретные
значения, но и выражения, требующие вычислений.
Задание:
 Определите сколько записей в таблице с количеством товара
больше 100 единиц (поле КоличествоТовара, команда Фильтр Больше условие в диалоговом окне Настраиваемый фильтр 100).
 Отменить фильтр командой Фильтр – Снять фильтр.
Расширенный фильтр
При необходимости установить более сложный фильтр, например,
состоящий из двух и более условий отбора, применяют расширенный фильтр
(рисунок 1.8).
1)
Нажмите кнопку Дополнительно - Расширенный фильтр на
панели инструментов. Появляется диалог, в котором необходимо выбрать
таблицы фильтрации.
2)
В строке Поле последовательно выбрать из списка необходимые
поля. При этом не достаточно выбрать только поле, по которому будет
осуществляться фильтрации. Необходимо выбрать логически связанные поля.
3)
В строке Условие отбора ввести условие фильтрации.
Рисунок 1.8 – Расширенный фильтр
26
В любое из выбранных полей можно ввести условие, которое и будет
являться условием отбора. Если условия ввести в несколько полей одной
строки, то отбираться будут те записи, которые удовлетворяют всем заданным
условиям, то есть И первому, И второму И т. д. Для отбора записей,
удовлетворяющих одному условию ИЛИ другому, необходимо альтернативное
условие ввести в строку ИЛИ.
При вводе условий отбора можно использовать любые выражения,
которые возможны в Access.
Задание:
Поэкспериментируйте с операциями расширенного фильтра, выполнив
последовательность действий указанных ниже.
1)
Выполните команду Дополнительно – Расширенный фильтр
.
2)
В
строке
Поле
выберите
поля:
НазваниеКлиента,
ФамилияСотрудника, ДатаЗаказа, КоличествоТовара, НазваниеТовара.
3)
В строке Условие отбора для поля НазваниеТовара введите Pate
chinois, а в строке ИЛИ этого же поля введите Tourtiere.
4)
Выполнить фильтрацию базы данных по введенным условиям
можно командой Применить фильтр.
5)
Фильтр со сложными условиями отбора рекомендуется сохранить в
виде запроса. Тогда в любой момент его можно применить снова. Нажмите на
панели инструментов кнопку Дополнительно - Сохранить как запрос.
6) Очистите поля фильтра, нажав кнопку Дополнительно - Очистить
бланк
.
7) Для повторной установки сохраненного в виде запроса фильтра
достаточно в форме фильтра нажать кнопку Дополнительно - Загрузить из
запроса. Откроется диалоговое окно Применяемый фильтр со списком
27
сохраненных фильтров. Выберите нужный фильтр и нажмите кнопку ОК. Все
условия фильтра снова появляются в полях формы.
Задание:
Выполните фильтрацию данных, представленную ниже.
1)
Исключите поставщика АО Германия-Россия, выделив это значение
в поле НазваниеПоставщика и выполните команду Выделение – Не
содержит.
2)
Поле НазваниеТовара Alice Mutton (13 записей), сохраните в виде
запроса под именем Товар Alice Mutton .
3)
Самостоятельно создайте 3-4 фильтра (расширенный фильтр) со
сложными условиями и сохраните в виде запросов.
4)
Создайте
фильтр,
свойство
которого
((Table1NF.НазваниеКлиента="Ernst
имеет
Handel")
значение
AND
(Table1NF.ФамилияСотрудника Like "В*"))
5)
Сохраните последний фильтр под именем Клиент Ernst Handel.
6)
Проверьте повторные установки сохраненных в виде запроса
фильтров.
Печать, экспорт и рассылка таблиц
Отобранные с помощью фильтра данные (как, впрочем, и таблицы
целиком) можно печатать, копировать, экспортировать и рассылать по
электронной почте.
Печать таблицы
Чтобы напечатать таблицу, удобнее всего использовать кнопку Печать
(Print)
в главном меню программы
.
Печатается вся таблица или только отобранные записи, если установлен
фильтр.
28
Задание:
Выведите на печать фильтр Клиент Ernst Handel.
1) Откройте сохраненный фильтр Клиент Ernst Handel.
Но прежде чем выполнить печать, можно посмотреть, как будет
выглядеть таблица в напечатанном виде.
Для этого воспользуйтесь кнопкой Предварительный просмотр (Print
Preview)
в главном меню программы.
На экране появляется окно предварительного просмотра и панель
инструментов Предварительный просмотр (Print Preview).
В нижней части окна есть кнопки перемещения по страницам,
аналогичные кнопкам перемещения по записям в режиме таблицы. Указатель
приобрел форму лупы со знаком плюс (+) в центре.
Задание:
Выполните
задание,
представленное
ниже,
с
помощью
панели
инструментов Предварительный просмотр.
1) Щелкните на таблице, масштаб изображения увеличится. Видно, что
вся таблица на одной странице не помещается.
2) Нажмите на панели инструментов Предварительный просмотр
кнопку Две страницы (Two pages)
.
На экране одновременно будут показаны две страницы — таблица на две
части. Это не очень удобно. Можно разместить всю таблицу на одной странице
альбомной ориентации. Ненужные столбцы можно предварительно скрыть.
29
4)
В режиме Предварительный просмотр выберите команду меню
Параметры страницы (File > Page Setup)
. Появляется диалоговое
окно Параметры страницы (Page Setup) (Рисунок 1. 9).
Рисунок 1.9 – Диалоговое окно Параметры страницы
5) Раскройте вкладку Страница (Раде). Установите на ней переключатель
ориентации альбомная (Landscape).
6) На вкладке Параметры печати уменьшите значения левого и правого
полей. Установите их равными 5 мм и нажмите кнопку OK.
7) Нажмите на панели инструментов кнопку Одна страница (One Page).
8) После нажатия на панели инструментов кнопку Печать (Print).
Таблица будет выведена на текущий принтер.
Экспорт таблицы
Подготовленную таблицу можно экспортировать в документ Word и в
таблицу Exsel.
30
Проще всего это сделать с помощью вкладки меню Внешние данные,
используя команды в группе Экспорт. В этой группе представлены следующие
возможности:
- экспорт в таблицу Excel;
- экспорт в файл RTF;
- экспорт в текстовый файл;
- экспорт в дополнительные форматы.
Задание:
Поэкспериментируйте
с
экспортом
данных,
выполнив
последовательность действий, представленных ниже.
1) Пусть нужно преобразовать таблицу записей, отобранных фильтром
Клиент Ernst Handel,в документ Word.
2) Используйте сохраненный фильтр Клиент Ernst Handel, оставьте
четыре первых поля, другие скройте.
3) Выберите команду Экспорт в файл RTF. На экране появится окно
Мастера Экспорта (рисунок 1.10). Установите параметры экспорта:
 Экспортировать данные с макетом и форматированием.
 Открыть целевой файл после завершения операции экспорта.
Таблица Access преобразуется в таблицу Word и вставляется в документ
формата RTF. Документ открывается и выводится на экран.
31
Рисунок 1.10 – Окно Мастера Экспорта
4) Поэкспериментируйте с экспортом в другие форматы.
Преобразование таблицы в формат HTML
Еще один вариант сохранения таблицы в виде отдельного файла —
преобразование ее в формат HTML.
1) Откройте вкладку Внешние данные. В группе команд Экспорт
выберите команду Дополнительно. Затем в ниспадающем списке выберите
команду Документ HTML. Установите параметры экспорта:

Экспортировать данные с макетом и форматированием.

Открыть целевой файл после завершения операции экспорта.
Появится диалоговое окно Параметры вывода в формате HTML (рисунок
1.11).
32
Рисунок 1.11 – Диалоговое окно Параметры вывода в формате HTML
В этом диалоге нужно выбрать кодировку для сохранения файла: по
умолчанию.
Таблицы Access, а также результаты выборки, могут быть отправлены
вашим адресатам по электронной почте для ознакомления, анализа и т. д.
Задание:
 Используя фильтр, отберите заказы, оформленные сотрудником
Новиковым 13.03.98.
 Экспортируйте результат в файл .xls.
Подведение итогов
На данном занятии вы научились:
 сортировать таблицу по разным столбцам (текстовым, числовым,
дате);
 искать нужную запись по образцу в выбранном поле и во всей
таблице;
 выполнять замену найденных вхождений образца;
 устанавливать фильтр по выделенному и «расширенный фильтр»;
 сохранять и вновь использовать фильтр;
 печатать таблицу или группу отобранных записей;
 экспортировать отобранные записи в документ Word, таблицу
Excel, страницу HTML;
33
 рассылать данные таблицы Access по электронной почте.
Контрольные вопросы
1. В чем может заключаться изменение структуры таблицы?
2. Какие моменты необходимо учитывать при изменении структуры БД?
3. Как изменить связь в схеме данных?
4. Можно ли изменить тип данных поля, которое используется в
определении связи между таблицами?
5. Как изменить первичный ключ?
6. Для чего используется Маска ввода и где она задается?
7. Что такое Макет таблицы, какие операции со столбцами можно
выполнять?
8. Виды сортировок, как они осуществляются?
9. В чем отличие операций Поиска и Фильтра?
10. Что такое Образец поиска (приведите примеры )?
11. Как осуществляется отбор записей с помощью фильтра по
выделенному фрагменту?
12. Что такое расширенный фильтр?
34
Лабораторная работа № 2
Приведение таблицы к 3-й нормальной форме
Работа с таблицами
(часть 2)
Цель: привести предложенную таблицу к 3-й нормальной форме.
Задачи: освоить приемы и методы работы по анализу и созданию
нормализованных таблиц.
Теоретические сведения
Отношение (relation) — это двумерная таблица. Каждая строка в таблице
содержит данные, относящиеся к некоторой сущности или какой-то ее части.
Каждый столбец таблицы описывает какой-либо атрибут этой вещи.
Термины отношение, кортеж и атрибут пришли из реляционной
математики, которая является теоретическим источником реляционной модели.
Профессионалы предпочитают употреблять аналогичные термины файл (file),
запись (record) и поле (field), а большинство пользователей находят более
удобными термины таблица (table), строка (row) и столбец (column).
Чтобы таблица была отношением, она должна удовлетворять
определенным ограничениям:
 Значения в ячейках таблицы должны быть одиночными — ни
повторяющиеся группы, ни массивы не допускаются.
 Все записи в столбце должны быть одного типа.
 Каждый столбец имеет уникальное имя.
 Порядок столбцов в таблице несуществен.
 В отношении не может быть двух одинаковых строк.
 Порядок строк не имеет значения.
35
Нормализация
Каждое нормализованное отношение содержит информацию об одномединственном информационном объекте. Когда мы обнаруживаем отношение с
аномалиями модификации, мы устраняем эти аномалии, разбивая отношение на
два или более новых отношения, каждое из которых содержит факты,
относящиеся к одной теме. Этот процесс составляет суть нормализации.
Однако не стоит забывать, что всякий раз, когда мы разбиваем
отношение, мы, возможно, порождаем ограничение ссылочной целостности.
Поэтому следует обязательно проверять наличие таких ограничений каждый
раз при разбиении отношения на два или более новых.
Нормальные формы
О любой таблице данных, удовлетворяющей определению отношения,
говорят, что она находится в первой нормальной форме.
Вспомните, что для того чтобы таблица была отношением, должны
выполняться описанные выше требования. Таблица СЕКЦИИ может быть
отношением, так как она удовлетворяет перечисленным выше требованиям.
Значит, отношение на СЕКЦИИ находится в первой нормальной форме.
Отношение СЕКЦИИ приведено в таблице 2.1.
Таблица 2.1 – Отношение СЕКЦИИ
Однако отношения в первой нормальной форме могут иметь аномалии
модификации. Например, если удалить строку, где записаны данные о студенте
с номером 100, мы потеряем информацию не только о том, что он лыжник, но и
о том, что абонемент в лыжную секцию стоит 200. Это называется аномалией
удаления.
36
Чтобы устранить эти аномалии, мы разбиваем отношение на два или
более новых отношения. Когда мы делаем это, новые отношения оказываются в
некоторой другой нормальной форме, а в какой именно, зависит от того, какие
аномалии мы устранили, а также от того, каким аномалиям подвержены
получившиеся отношения.
Вторая нормальная форма (2НФ)
Чтобы понять, что такое вторая нормальная форма, рассмотрим
отношение СЕКЦИИ. Это отношение имеет аномалии модификации, подобные
тем, которые мы рассматривали ранее.
Если мы удалим строку с данными о студенте с номером 175, мы
потеряем тот факт, что абонемент в секцию сквоша стоит 50. Кроме того, мы не
можем ввести информацию о секции, пока в эту секцию не запишется хотя бы
один студент. Таким образом, это отношение подвержено как аномалии
удаления, так и аномалии вставки.
Проблема с этим отношением состоит в том, что оно содержит
зависимость,
затрагивающую
только
часть
ключа.
Ключом
является
комбинация (НомерСтудента, Секция), но отношение содержит зависимость
Секция > Плата. Детерминант этой зависимости (Секция) представляет собой
лишь часть ключа (НомерСтудента, Секция). В этом случае мы можем
сказать, что атрибут ПЛАТА частично зависит от ключа таблицы. Аномалий
модификации не было бы, если бы ПЛАТА зависела от всего ключа. Чтобы
устранить эти аномалии, мы должны разделить отношение на два отношения.
Данный пример приводит нас к определению второй нормальной формы
(second normal form, 2NF):
Отношение находится во второй нормальной форме, если все его
неключевые атрибуты зависят от всего ключа.
В соответствии с этим определением, если отношение имеет в качестве
ключа одиночный атрибут, то оно автоматически находится во второй
нормальной форме. Поскольку ключ является одиночным атрибутом, то по
умолчанию каждый неключевой атрибут зависит от всего ключа, и частичных
37
зависимостей быть не может. Таким образом, вторая нормальная форма
представляет интерес только для тех отношений, которые имеют композитные
(составные) ключи.
Отношение СЕКЦИИ может быть разбито на два отношения во второй
нормальной форме. СТУДЕНТ-СЕКЦИЯ и СЕКЦИЯ-ПЛАТА.
Отношение СТУДЕНТ-СЕКЦИЯ Отношение СЕКЦИЯ-ПЛАТА
Ключ — НомерСтудента
Ключ — Секция
Мы знаем, что новые отношения находятся во второй нормальной форме,
поскольку оба они имеют в качестве ключей одиночные атрибуты.
Третья нормальная форма (ЗНФ)
Отношения во второй нормальной форме также могут иметь аномалии.
Рассмотрим
отношение
ПРОЖИВАНИЕ.
Отношение
ПРОЖИВАНИЕ
приведено в таблице 2.2.
Таблица 2.2 – Отношение ПРОЖИВАНИЕ
Ключ — НомерСтудента
Ключом здесь является НомерСтудента, и имеются функциональные
зависимости
НомерСтудента>Общежитие
и
Общежитие>Плата.
Эти
зависимости возникают потому, что каждый студент живет только в одном
общежитии, и каждое общежитие взимает со всех проживающих в нем
студентов одинаковую плату. Например, каждый живущий в общежитии
Рэндольф-Холл платит 3200 за квартал.
38
Поскольку
Общежитие
НомерСтудента
определяет
определяет
атрибут
атрибут
Плата,
то
Общежитие,
косвенным
а
образом
НомерСтудента определяет атрибут Плата. Такая структура функциональных
зависимостей называется транзитивной зависимостью (transitive dependence),
поскольку атрибут НомерСтудента определяет атрибут Плата через атрибут
Общежитие.
Ключом
отношения
ПРОЖИВАНИЕ
является
НомерСтудента,
который является одиночным атрибутом, и следовательно, отношение
находится
во
второй
нормальной
форме
(и
Общежитие,
и
Плата
определяются атрибутом НомерСтудента). Несмотря на это, отношение
ПРОЖИВАНИЕ имеет аномалии, обусловленные транзитивной зависимостью.
Что
произойдет,
если
мы
удалим
вторую
строку
отношения
ПРОЖИВАНИЕ? Мы потеряем не только тот факт, что студент № 150 живет в
Ингерсолл-Холле, но и тот факт, что проживание в этом общежитии стоит 3100.
Это аномалия удаления. А как мы можем записать тот факт, что плата за
проживание в Кэрригг-Холле составляет 3500? Никак, пока туда не решит
вселиться хотя бы один студент. Это аномалия вставки.
Чтобы удалить аномалии из отношения во второй нормальной форме,
необходимо устранить транзитивную зависимость, что приводит нас к
определению третьей нормальной формы (third normal form, 3NF):
Отношение находится в третьей нормальной форме, если оно
находится во второй нормальной форме и не имеет транзитивных
зависимостей.
Отношение ПРОЖИВАНИЕ можно разделить на два отношения в
третьей нормальной форме СТУДЕНТ-ПРОЖИВАНИЕ и ОБЩЕЖИТИЕПЛАТА.
39
Отношение СТУДЕНТ-ПРОЖИВАНИЕ Отношение ОБЩЕЖИТИЕ-ПЛАТА
Отношение СЕКЦИЯ также содержит транзитивную зависимость. В этом
отношении НомерСтудента определяет атрибут Секция, а Секция определяет
атрибут Плата. Поэтому отношение СЕКЦИЯ не находится в третьей
нормальной форме. Разбиение данного отношения на отношения СТУДЕНТСЕКЦИЯ и СЕКЦИЯ-ПЛАТА устраняет аномалии.
Задание:
Выполните последовательность действий, представленных ниже.
1. Откройте файл базы данных с именем «Lab2.mdb».
2. Откройте таблицу TablelNF в режиме таблицы.
3. Поставьте курсор в столбец «НазваниеКлиента»
4. Отсортируйте данные по убыванию (
).
a. Какие данные повторяются?
5. Поставьте курсор в столбец «ФамилияСотрудника».
a. Какие данные повторяются?
6. Поставьте курсор в столбец «НазваниеТовара».
a. Какие данные повторяются?
7. Какие информационные объекты вы бы выделили?
8. Опишите процессы предметной области, для которой создана эта
таблица.
9. Исходя из принципов организации базы, нарисуйте в тетради
необходимую схему данных.
40
10. С помощью инструмента анализа (вкладка меню Работа с базами
данных, команда Анализ таблицы в группе команд Анализ) приведите
данные из таблицы TablelNF к 3-ей нормальной форме.
a. На каждом шаге работы мастера анализа таблиц внимательно
рассмотрите диалоговые окна, просмотрите примеры и иллюстрации.
b. Отредактируйте названия таблиц, дав им имена, подходящие по
смыслу.
c. Сравните схему данных, созданную вами со схемой, созданной
мастером.
Указания:
 В соответствующем окне диалога выберите пункт «Да, разделение
проводится мастером».
 Исправьте сделанные мастером ошибки и назовите таблицы.
 Пропустите страницу мастера «Исправление опечаток».
 В результате должны получиться следующие таблицы: «Заказы»,
«Клиенты», «Сотрудники», «Телефон», «Товары».
Контрольные вопросы:
1. Какие существуют модели организации баз данных?
2. В чем заключается особенность реляционной модели организации
данных?
3. Что такое первичный ключ? Для чего он используется?
4. Что такое нормализация данных?
5. Что такое нормальные формы? В чем заключаются их особенности?
6. В какой нормальной форме находится таблица TablelNF?
7. Какие аномалии встречаются в таблице TablelNF?
8. Докажите, что таблицы, полученные в результате работы мастера
анализа таблиц находятся в 3НФ.
41
Лабораторная работа № 3
Создание базы данных «Учебный процесс»
Цель: научиться создавать таблицы, схему данных, устанавливать связи,
заполнять таблицы данными, разобраться в видах связей, вносить изменения в
структуру таблиц.
Порядок работы
Создание базы данных
Задание:
Выполните последовательность действий по созданию базы данных
«Учебный процесс», представленных ниже.
1. Создайте файл новой базы данных «Учебный процесс». Для этого
выполните команду главного меню программы Создать. В окне Приступая к
работе с Microsoft Office Access щелкните на пиктограмме Новая база данных.
Здесь же задайте имя файла новой БД - «Учебный_процесс».
Определите папку, в которой будет размещен этот файл (уточнить у
преподавателя). По умолчанию файл базы данных размещается в папке Мои
документы.
2. Создайте структуру таблиц СТУДЕНТ, ГРУППА, КАФЕДРА,
ПРЕПОДАВАТЕЛЬ, ПРЕДМЕТ, ИЗУЧЕНИЕ, УСПЕВАЕМОСТЬ.
Начните создание таблицы с определения ее структуры в режиме
Конструктора
таблиц.
При
создании
структуры
таблиц
пользуйтесь
ПРИЛОЖЕНИЕМ 1.
В окне базы данных выберите вкладку Создание и нажмите кнопку
Конструктор таблиц. Или просто выполните команду смены режима
отображения таблицы - режим Конструктора.
Для создания таблицы в окне конструктора Таблица 1: Таблица
необходимо:
42
 в столбец Имя поля ввести в нужной последовательности имена
полей;
 в столбце Тип данных выбрать нужный тип данных для каждого
поля, использовав кнопку списка;
 на закладке Общие задать свойства полей.
3. Создайте первичный ключ таблицы. Выделите поле, щелкнув кнопкой
мыши на области маркировки слева от имени поля, и нажмите кнопку
Ключевое поле. Для определения составного ключа (из нескольких полей)
выделите эти поля, удерживая клавишу < Ctrl >, и нажмите кнопку Ключевое
поле. Признаком установки ключа является изображение ключа слева от имени
поля. Определите свойства ключевого поля в соответствии с данными
Приложения 1.
4. Сохраните созданную структуру таблицы и присвойте ей имя. Для этого
выполните команду главного меню Сохранить как и введите имя в окне
Сохранение.
5. Аналогично создайте все таблицы базы данных.
Создание схемы данных
1. Создайте схему данных в соответствии с логической структурой базы
данных (ПРИЛОЖЕНИЕ 2).
Примечание:
При построении схемы данных ACCESS автоматически определяет по
выбранному полю тип связи между таблицами. Если поле, по которому нужно
установить связь, является уникальным ключом, как в главной таблице, так и
в подчиненной, ACCESS устанавливает связь один-к-одному.
Если поле связи является уникальным ключом в главной таблице, а в
подчиненной таблице является не ключевым или входит в составной ключ,
ACCESS устанавливает связь один-ко-многим от главной таблицы к
подчиненной.
43
При выборе в качестве поля связи в главной таблице неключевого поля
ACCESS сообщает, что тип отношения не может быть определен. В этом
случае между таблицами возможно установление только связи-объединения.
 В окне базы данных на вкладке Работа с базами данных нажмите
кнопку Схема данных в группе команд Показать или скрыть
панели инструментов. В открывшемся окне Добавление таблицы
выберите вкладку Таблицы и, нажимая кнопку Добавить,
разместите в окне Схема данных все таблицы. Затем нажмите
кнопку Закрыть. В результате в окне Схема данных будут
представлены все таблицы базы данных со списками своих полей.
 Установите связь между таблицами ГРУППА и СТУДЕНТ по
простому ключу «номер группы» (НГ). Для этого в окне Схемы
данных установим курсор мыши на ключевом поле НГ главной
таблицы ГРУППА и переместите его на поле НГ подчиненной
таблицы СТУДЕНТ.
 В открывшемся окне Связи в строке Тип отношения установится
«один-ко-многим».
 Отметьте параметр Обеспечение целостности данных. Если
таблицы
ГРУППА
и
СТУДЕНТ
ранее
были
заполнены
корректными данными, между таблицами будет установлена связь.
В противном случае появится сообщение о невозможности
установить этот тип отношения.
 Для автоматической корректировки данных во взаимосвязанных
таблицах установите Каскадное обновление связанных полей и
Каскадное удаление связанных записей. Аналогичные действия
выполняются для других пар таблиц.
 Определите
связи
между
таблицами
СТУДЕНТ-
УСПЕВАЕМОСТЬ, которые связаны по составному ключу
«номер группы + номер студента» (НГ+НС). Для этого в главной
таблице СТУДЕНТ выделите оба этих поля, удерживая клавишу <
44
Ctrl >. Перетащите оба поля на поля НГ и НС в подчиненной
таблице УСПЕВАЕМОСТЬ. В окне Связи для ключевых полей
НС
и
НГ
главной
соответствующие
поля
таблицы
Таблица/запрос
подчиненной
таблицы
выберите
Связанная
таблица/запрос. В этом же окне установите режим Обеспечение
целостности данных и другие параметры связи.
 Аналогично определяются связи между парой таблиц ИЗУЧЕНИЕ
–УСПЕВАЕМОСТЬ по составному ключу НГ+КП+ТАБН+ВИДЗ.
Заполните таблицы данными (ПРИЛОЖЕНИЕ 3).
Соблюдайте порядок заполнения: сначала заполняются главные таблицы,
затем подчиненные.
В окне базы данных дважды щелкните на нужной таблице для её
открытия.
Таблица откроется в Режиме таблицы. Заполните строки (записи)
открывшейся таблицы в соответствии с названиями столбцов (полей). Введите
несколько записей в таблицы ГРУППА и СТУДЕНТ. Объекты ГРУППА и
СТУДЕНТ связаны одно-многозначными отношениями. При вводе данных в
таблицу, связанных с другой таблицей, полезно отобразить на экране обе
таблицы. Для одновременного отображения таблиц можно воспользоваться
командой Сверху вниз или Слева направо - вкладка меню Перейти в другое
окно, группа команд Окно.
Проверка поддержки целостности базы данных
Проверим поддержку целостности при внесении изменений в таблицы
ГРУППА - СТУДЕНТ, связанные одно-многозначными отношениями.
Откройте таблицы ГРУППА и СТУДЕНТ в режиме таблица и
расположите их без перекрытия.
1) Убедимся, что невозможно включить новую запись в подчиненную
таблицу СТУДЕНТ со значением ключа связи НГ, не представленным в
таблице ГРУППА.
45
 В таблицу СТУДЕНТ введите запись гр. 501 номер студента 01.
Какой получился результат?
 Добавьте запись гр. 501 в таблицу ГРУППА.
 Повторите ввод данных для этой группы в табл. СТУДЕНТ. Какой
сейчас результат?
2) Изменим значение ключевого поля НГ в одной из записей главной
таблицы ГРУППА: гр. 501 на 601.
Каков результат в таблице СТУДЕНТ?
Убедимся, что во всех записях подчиненной таблицы СТУДЕНТ
автоматически изменится значение НГ. Изменение происходит мгновенно, как
только изменяемая запись перестает быть текущей. Если открыть другие
подчиненные таблицы, то можно убедиться, что каскадное обновление
распространяется также на вторую подчиненную таблицу ИЗУЧЕНИЕ и
подчиненную таблицу второго уровня УСПЕВАЕМОСТЬ.
3) Убедимся, что вместе с удалением записи в главной таблице ГРУППА
удаляются все подчиненные записи, т.к. был установлен параметр Каскадное
удаление связанных записей.
Если каскадное удаление не разрешено, невозможно удалить запись в
главной таблице, если имеются связанные с ней записи в подчиненной. Если
выполнение изменений невозможно, появится сообщение.
Задание:
Удалите группу 601 из таблицы Группа. Каков результат в подчиненной
таблице СТУДЕНТ?
Связи объединения
Связи-объединения, установленные в схеме данных, обеспечивают
объединение записей таблиц, имеющих одинаковые значения в поле связи.
Причем производится объединение каждой записи из одной таблицы с каждой
записью из другой таблицы при условии равенства значений в поле связи.
Объединение записей возможно одним из трех способов:
46
1. Способ 1 – объединение только тех записей, в которых значения в
связанных полях обеих таблиц совпадают (производится по умолчанию) –
внутреннее объединение;
2. Способ 2 – объединение тех записей, в которых связанные поля обеих
таблиц совпадают, а также объединение всех записей из первой таблицы, для
которых нет связанных во второй, с пустой записью второй таблицы – левое
внешнее объединение.
3. Способ 3 – объединение тех записей, в которых связанные поля обеих
таблиц совпадают, а также объединение всех записей из второй таблицы, для
которых нет связанных в первой, с пустой записью первой таблицы – правое
внешнее объединение.
Задание:
Проверим разные способы объединения на примере связи таблиц
СТУДЕНТ и РАСПИСАНИЕ.
1) Дополним базу данных таблицей РАСПИСАНИЕ (Ключ, НГ,
Экзамен, Дата). Поле Ключ является ключевым полем, его тип Счетчик. Эту
таблицу создайте в режиме Конструктора. Заполните ее следующими
данными:
2) Установите связь между таблицами СТУДЕНТ и РАСПИСАНИЕ по
полю НГ по способу 1 (внутреннее объединение). Для этого в окне Схема
данных протяните связь между полем НГ таблицы СТУДЕНТ и НГ таблицы
РАСПИСАНИЕ. В окне Связи нажмите кнопку Объединение. По умолчанию
отмечен данный тип связи. Нажмите ОК. Связь установится.
47
Создайте запрос с именем Внутреннее объединение в него включите поля
НГ и ФИО из таблицы СТУДЕНТ и поле Экзамен из
таблицы
РАСПИСАНИЕ.
Выполните запрос и проанализируйте, какие записи выведены в таблице
(рисунок 3.1).
Рисунок 3.1 – Запрос: Внутреннее объединение
3) Установите связь между таблицами СТУДЕНТ и РАСПИСАНИЕ по
полю НГ по способу 2 (левое внешнее объединение). Для этого в окне Схема
данных измените тип связи между рассматриваемыми таблицами (щелкните
правой кнопкой мыши на линии связи/строка изменить связь и задайте второй
тип связи). Связь установится (рисунок 3.2).
Рисунок 3.2 – Результат установки связи
Вновь создайте запрос в него включите те же поля, но сохраните запрос
под именем Левое объединение. Выполните запрос и проанализируйте, какие
записи выведены в таблице при этом способе.
4) Установите связь между таблицами СТУДЕНТ и РАСПИСАНИЕ по
полю НГ по способу 3 (правое внешнее объединение).
48
Вновь создайте запрос, в него включите те же поля, но сохраните запрос
под именем Правое объединение. Выполните запрос и проанализируйте, какие
записи выведены в таблице при этом способе (рисунок 3.3).
Рисунок 3.3 – запрос под именем Правое объединение
Работа со структурой таблиц
Задание:
Для отработки навыков работы со структурой таблицы выполните
последовательность действий, представленную ниже.
1) В структуру таблицы СТУДЕНТ:
 вставьте поле ФОТО перед полем ГОДР (тип: поле объекта OLE);
 после поля АДРЕС добавьте поле ТЕЛЕФОН и определите маску
ввода !00-00-00;; “# ”;
 добавьте поле ХАРАКТЕРИСТИКА (тип: МЕМО);
Заполняется это поле непосредственно в таблице или через область ввода
(клавишиShift+F2), или вставляется как объект OLE из Word.
 добавьте поле ВОЕННООБЯЗАННЫЙ (тип: логический);
 для поля ГОДР задайте свойство, ограничивающее значения 1980 и
1988 годами, с выдачей сообщения «Год неверен».
 сохраните изменения структуры таблицы СТУДЕНТ.
2) В структуру таблицы ГРУППА добавьте поле КУРАТОР.
3) В таблице КАФЕДРА:
49
 для поля НКАФ определите маску ввода: первая буква заглавная,
остальные строчные >L<??????????
Для получения справки о масках ввода поместите курсор в поле свойств
«маска ввода» и нажмите кнопку F1.Познакомьтесь с подстановочными
символами.
 Добавьте поле номер кабинета НКАБ (тип: текстовый, маска ввода три обязательных цифры, подпись - Кабинет).
4) В таблице УСПЕВАЕМОСТЬ измените тип поля ВИДЗ (Вид занятий)
на Поле со списком для подстановки значений «лекция, практика». Для этого в
режиме
Конструктора
в
Свойствах
этого
поля
откройте
вкладку
Подстановка. Установите:
 Тип элемента управления: Поле со списком;
 Тип источника строк: Список значений;
 Источник строк: лекция; практика.
5) Сделайте подстановку значений для поля НГ (номер группы) в таблицах
СТУДЕНТ, ИЗУЧЕНИЕ из таблицы ГРУППА. Установите:
 Тип элемента управления: Поле со списком;
 Тип источника строк: Таблица или запрос;
 Источник строк: Группа;
 Присоединенный столбец: 1;
 Число столбцов: 1.
6) В таблицу ПРЕПОДАВАТЕЛЬ добавьте поле ДОЛЖНОСТЬ. Данные
в это поле будут подставляться из списка. Для этого в режиме Конструктора в
Свойствах этого поля откройте вкладку Подстановка. Установите:
 Тип элемента управления: Поле со списком;
 Тип источника строк: Список значений;
 Источник строк: профессор; доцент; ст.препод.; ассистент.
7) Сохраните изменения структуры таблиц.
50
8) В режиме таблица, заполните значения в добавленных полях, проверяя
работу масок ввода и подстановку из списка значений.
9) Введите в базу данные для своей группы.
10) Самостоятельно в таблице ПРЕПОДАВАТЕЛЬ создайте для полей
Степень (СТ) и Звание(ЗВ) поля со списком, используя данные из таблицы.
Контрольные вопросы
1. В чем может заключаться изменение структуры таблицы?
2. Какие моменты необходимо учитывать при изменении структуры БД?
3. Как изменить связь в схеме данных?
4. Можно ли изменить тип данных поля, которое используется в определении
связи между таблицами?
5. Как изменить первичный ключ?
6. Для чего используется Маска ввода и где она задается?
51
Лабораторная работа № 4
Разработка однотабличных форм
Цель: Получить навыки создания форм на основе одной таблицы
различными
способами,
перемещать
и
изменять
размеры
элементов
управления, их свойства.
Теоретические сведения
Форма
на
основе
одной
таблицы
может
быть
построена
как
самостоятельная для загрузки, просмотра и корректировки таблицы, а также как
вспомогательная для включения в составную форму.
Однотабличная форма может быть создана пользователем в режиме
Конструктора форм (вкладка Создание, кнопка Конструктор форм группы
команд Формы) или с помощью Мастера (вкладка Создание, кнопка Другие
формы – Мастер форм, в группе команд Формы). В первом случае создание
начинается с пустой формы и конструирование полностью возлагается на
пользователя. Целесообразно использовать Мастер форм.
Мастер форм может создавать форму для одной таблицы или для
нескольких взаимосвязанных таблиц. При выборе только одной таблицы могут
быть созданы формы В один столбец, Табличная, Ленточная или
Выровненная. Формы являются многозаписевыми и размещают все поля в
одной строке. Мастер форм позволяет пользователю определить, какие поля
включаются в форму, и выбрать стиль ее оформления. Выбор таблицы может
быть произведен в первом диалоговом окне мастера Создание форм.
Автоформа. Команда Форма создают для заданной таблицы форму,
которая отличается от форм, создаваемых Мастером, тем, что включает все
поля таблицы и не предоставляет возможности выбора стиля оформления. Эта
команда, не вступая в диалог с пользователем и не отображая формы в режиме
52
конструктора, выводит ее на экран в режиме формы, то есть заполненную
значениями из таблицы.
Режим конструктора
В режиме Конструктора производится настройка областей и элементов
формы.
Области формы:
 область заголовка;
 область данных;
 область примечаний.
Элементы управления:
Области формы наполняются различными графическими объектами.
Графические объекты, связанные с записями таблиц и предназначенные для
отображения данных некоторого поля, называются элементами управления.
Типы элементов управления:
 поле;
 переключатели;
 группы;
 поле со списком;
 флажки;
 объекты O LE;
 список;
 выключатели;
 командные кнопки.
Тип, выбираемый по умолчанию, определяется в свойствах поля.
Графические объекты, не связанные с таблицами или запросами,
предназначены для создания макета формы и содержат: надписи полей,
внедряемые объекты, надписи этих объектов, заголовки. Информация об этих
элементах сохраняется в макете формы.
Свойства элементов. Свойства элементов можно просматривать и
корректировать, выделив элемент, выбрать вкладку Конструктор, группу
команд Сервис и щелкнув на кнопке Страница свойств
Или
команду Свойства
.
в контекстно-зависимом меню
вызываемом правой кнопкой мыши.
53
элемента,
Для выполнения необходимых действий при создании формы используется
панель инструментов вкладки Конструктор, вкладки Упорядочить и вкладка
Формат.
Порядок работы
Ознакомьтесь с панелью инструментов вкладки Формат и вкладки
Упорядочить. Для этого:
 откройте таблицу, на основе которой будет создаваться форма;
 выполните команду Форма из вкладки Создание, группы команд
Формы;
 используя справку (кнопка
), познакомьтесь со значением
кнопок.
Задание:
Разработать однотабличную форму для ввода и корректировки данных в
таблицу ПРЕДМЕТ.
Структура формы ПРЕДМЕТ-ПРОГРАММА:
 тип формы – однотабличная (простая),
 источник записей формы – таблица ПРЕДМЕТ,
 наличие, кроме обычных полей, большого поля для текста
программы.
В области данных будут размещаться все реквизиты таблицы ПРЕДМЕТ.
Создание однотабличной формы в режиме Автоформы
На вкладке Создание выбираем в группе команд Формы кнопку Другие
формы – Мастер форм.
В окне Создание форм выбираем в качестве источника данных в
текстовом поле Таблицы и запросы таблицу ПРЕДМЕТ,
и в списке
доступные поля последовательно выбираем нужные для формы поля.
Нажимаем кнопку Далее.
54
В следующем диалоге Мастера Форм выбираем внешний вид формы – в
один столбец.
Нажимаем кнопку Далее.
Затем выбираем стиль формы – Стандартная.
Нажимаем кнопку Далее.
В последнем окне нужно ввести в текстовое поле Задайте имя формы –
имя формы.
Нажимаем кнопку Готово.
Работа Мастера Форм завершается отображением формы в режиме
формы.
Редактирование формы
ПЕРЕХОД В РЕЖИМ КОНСТРУКТОРА. Для уточнения текста
надписей, местоположения, размера и т. д. необходимо перейти в режим
конструктора форм.
При открытой форме переход в режим конструктора осуществляется
нажатием
кнопки
Режим
на
вкладке
Главная
и
выбираем
режим
представление формы Конструктор. После этого созданная форма откроется в
окне конструктора форм.
Создание заголовка
Для ввода текста заголовка в полученную форму в окне конструктора
расширим область заголовка формы, установив курсор мыши на границу
области заголовка и области данных и перетаскивая эту границу на нужное
расстояние. Для ввода текста заголовка надо создать графический элемент
Надпись. Для этого нужно выбрать кнопку Надпись
на вкладе
Конструктор, в группе Элементы управления.
Начинается создание элемента щелчком мышки на кнопке панели
элементов Надпись и далее нужно растянуть рамку надписи до нужных
размеров в области заголовка формы.
55
Вводим текст надписи. Теперь можно выбрать шрифт и другие параметры
оформления в группе команд Шрифт панели инструментов. Завершается
создание элемента Надпись нажатием клавиши <Enter>.
Для удаления элемента его надо выделить и нажать < Del >.
Форма ввода-вывода для работы с данными таблицы ПРЕДМЕТ
представлена на рисунке 4.1.
Факультет дизайна и информационных
технологий
Рисунок 4.1 – Форма таблицы ПРЕДМЕТ
Изменение надписей и отображения значений полей
При редактировании связанных элементов — Поле и Надпись следует
иметь в виду, что независимое перемещение поля и его надписи возможно
только, когда курсор помещается на верхний левый маркер и он примет вид
указательного пальца.
Остальные
действия
по
внесению
изменений
в
эти
элементы
осуществляются аналогично рассмотренному при формировании элемента в
области заголовка.
56
Изменение свойств
Редактирование формы и ее элементов может быть произведено не только
графическими средствами, но и путем изменения их свойств. Для этого, как
было сказано выше, должно быть открыто диалоговое окно свойств.
Сохранение формы
После редактирования формы она может быть сохранена под именем
ПРЕДМЕТ–ПРОГРАММА. Для этого выполняется команда Сохранить как из
главного меню программы или из контекстно-зависимого меню вкладки
формы.
Можно сохранить форму и при ее закрытии нажатием кнопки на окне
формы.
Переход в режим формы и загрузки таблицы
После завершения редактирования формы приступим к работе с таблицей
ПРЕДМЕТ через форму. Для перехода в режим формы из режима
конструктора нужно нажать кнопку Режим вкладки Главная и из списка
режимов выбрать Форма.
Для загрузки, просмотра и корректировки данных таблицы ПРЕДМЕТ
через заранее сохраненную форму необходимо в окне База данных выбрать
закладку Форма и, отметив форму ПРЕДМЕТ-ПРОГРАММА, нажать кнопку
Открыть.
Значения, вводимые в поля формы, должны соответствовать типам данных
и их свойствам, заданным при определении структуры таблицы.
Задание:
Создайте однотабличную форму для таблицы ГРУППА с помощью
мастера и произведите добавление нескольких записей.
1. Выделите таблицу ГРУППА в окне базы данных.
Затем щелкните по кнопке Другие формы – Мастер форм вкладки
Создание.
2. В 1-ом диалоговом окне выберите поля.
57
> - поместить в форму одно поле;
>> - поместить все поля;
< - удалить из формы выделенное поле;
<< - удалить из формы все поля.
Во 2-ом диалоговом окне выберите внешний вид формы ленточный.
В 3-ем диалоговом окне выберите стиль, например, ЛИТЕЛЬНАЯ.
В 4-ом диалоговом окне - задайте имя формы Группа. Выберите режим
Открыть форму для просмотра и ввода данных. Затем щелкните по кнопке
Готово.
3. Введите несколько записей.
4. Откройте форму в режиме Конструктора и внесите изменения.
5. Сохраните форму.
Задание:
Создайте однотабличную форму для таблицы КАФЕДРА в режиме
Конструктора и произведите добавление нескольких записей.
1. Откройте таблицу КАФЕДРА.
2. Выполните команду Конструктор форм на вкладке Создание, в группе
команд Формы.
3. Откройте список полей, щелкнув по кнопке Добавить поля на вкладке
Конструктор в группе команд Сервис.
3. Из списка выберите поля и перенесите в форму.
Совет.
Можно перетащить группу смежных полей в область данных. Для этого
выделите первое поле, затем при нажатой клавишу Shift – последнее поле.
Чтобы выделить все поля можно щелкнуть дважды по заголовку списка полей,
затем щелкнуть по любому выделенному полю и перетащить группу полей в
область данных.
4. Разместите поля и надписи в соответствии с примером на рисунке 4.2.
5. В область заголовка введите «Кафедра».
58
6. Сохраните форму под именем Кафедра.
7. Через форму введите две записи.
271-23-62
Рисунок 4.2 – Форма ввода-вывода для работы с данными таблицы
КАФЕДРА
59
Лабораторная работа № 5
Специальные элементы управления
Цель: научиться создавать списки, поля со списками, выключатели,
флажки и переключатели.
Теоретические сведения
Все элементы, добавляемые в форму, являются элементами управления.
Примерами разных элементов управления служат поля, надписи, списки,
переключатели, кнопки и линии. Способ создания элемента управления зависит
от того, какой элемент создается: присоединенный, свободный или
вычисляемый.
Создание присоединенного элемента управления
1. Откройте форму или отчет в режиме конструктора.
2. Для того чтобы создать элемент управления с помощью мастера,
проверьте, что нажата кнопка Использовать Мастер
панели
элементов в
группе
команд
Элементы управления
на
вкладки
Конструктор.
Примечание. Мастера позволяют создавать кнопку, список, поле со
списком, подчиненную форму и группу. Кроме того, мастера используются при
создании элементов управления для диаграмм и сводных таблиц.
3. Откройте список полей нажатием кнопки Добавить поля на панели
инструментов.
4. В списке полей выделите одно или несколько полей (таблица 5.1).
Таблица 5.1 – Объекты и способы выделения
Объекты
Способ выделения
Одно поле
Выберите поле
Группа соседних полей
Выберите первое поле группы и,
60
удерживая нажатой клавишу SHIFT,
выберите последнее поле группы
Произвольный набор полей
Нажав и удерживая клавишу CTRL,
выберите имя каждого выделяемого
поля
Все поля
Установите указатель на заголовок
списка и дважды нажмите кнопку
мыши
5. Переместите с помощью мыши выбранное поле (или поля) из списка
полей в форму или отчет. Поместите верхний левый угол значка в то место, где
должен находиться левый верхний угол элемента управления (а не его
подписи), и отпустите кнопку мыши.
Microsoft Access создает соответствующий полю элемент управления и
задает конкретные значения свойств, отвечающие типу данных поля и
значению свойства «Тип элемента управления».
Для того чтобы создать элемент управления другого типа, выберите
подходящий инструмент на панели элементов перед переносом поля из списка
полей.
Кроме того, тип элемента управления можно изменить после его
создания.
Группа команд Элементы управления
Команды
Элементов
управления
представляет
инструменты
конструктора для создания формы.
Кнопки группы команд Элементы управления
Выделение объекта. По умолчанию эта кнопка нажата. Используется для
выделения, изменения размера, перемещения и редактирования элемента
управления.
Кнопка
«Мастера
элементов».
Включает
и
отключает мастера по созданию элементов управления. Существуют мастера по
61
созданию поля со списком, группы параметров, кнопки, диаграммы или
подчиненной формы. Для создания этих элементов управления с помощью
мастеров кнопка «Мастера элементов» должна быть нажата.
Надпись. Служит для вывода не изменяющегося текста, например,
заголовков, подписей или пояснений в форме или отчете. Для создания этого
элемента нажать кнопку Надпись, а затем в форме выбрать место размещения
вставки.
Поле. Данный элемент управления используется для выполнения
следующих задач:
 Отображение, ввод или изменение данных, содержащихся в
источнике записей формы или отчете.
 Вывод результатов вычислений. Поле такого типа является
свободным элементом управления.
 Прием данных, вводящихся пользователем. Поле такого типа
является свободным элементом управления.
Группа параметров. Используется для размещения в формах или
отчетах набора флажков, переключателей или выключателей. Для создания
группы
с
помощью
мастера
надо
предварительно
включить
кнопку
.
Выключатель.
Переключатель.
Флажок.
Эти элементы управления могут принимать значение Вкл/Выкл,
Истина/Ложь, Да/Нет.
Каждый может использоваться как:
 Отдельный элемент управления, связанный с логическим полем.
Если Выключатель нажат, или Переключатель отмечен
Флажок
, или
, то их значение равно -1 (Вкл., Истина, Да), повторный
62
щелчок по элементу задает противоположное значение 0 (Выкл,
Ложь, Нет).
 Свободный
элемент
управления,
принимающий
действия
пользователя в специальном окне диалога.
 Компонент группы параметров, в которой выводятся значения, одно
из которых следует выбрать (например, «зима», «весна», «лето»,
«осень» для поля «Время года»). Если щелкнуть по переключателю
(флажку), входящему в группу, переводя его в состояние Вкл., то
любой ранее нажатый элемент группы будет переключен в
состояние Выкл. Элементы управления, входящие в группу, могут
быть созданы с помощью мастера.
Поле со списком. Составной элемент управления, объединяющий
поле и раскрывающийся список. Для того чтобы ввести значение в поле,
базовой таблицы, можно ввести значение в поле или выбрать значение в
списке. Можно использовать таблицу или запрос как источник значений
списка. Список можно задавать явно. Для создания поля со списком с помощью
мастера должна быть нажата кнопка
.
Список. Создает список, допускающий прокрутку. Список всегда
раскрыт, а выделяемое значение является значением элемента управления.
Список можно задавать явно, введя список значений в строке свойства
Источник записей, можно использовать также таблицу или запрос.
С другими кнопками Элементов управления можно ознакомиться
использовав кнопку Справка.
Создание полей со списком
При вводе данных через форму в Access имеется возможность получить
справочную информацию из ранее загруженных таблиц, что позволяет выбрать
уже имеющиеся значения в базе и тем самым повысить достоверность
вводимой информации.
63
Создание поля со списком может быть выполнено с помощью мастера
или без его использования.
Задание:
Создайте форму Карточка преподавателя, используя данные таблицы
КАФЕДРА.
1. Создайте форму:
 откройте таблицу ПРЕПОДАВАТЕЛЬ;
 Выполнить команду Форма на вкладке Создание;
 откройте форму в режиме конструктора;
 в заголовок введите «Карточка преподавателя»;
 отредактируйте надписи и переместите поля.
 удалите поле Код кафедры.
2. Создайте поле со списком для подстановки названия кафедры из
таблицы КАФЕДРА:
 нажмите кнопку Поле со списком в группе команд Элементы
управления;
 отметьте место вставки в форме и вычертите рамку;
 откроется диалоговое окно Создание полей со списком. Для
формирования списка из связанной таблицы выберите вариант
Объект «поле со списком» будет использовать значения из
таблицы или запроса Таблица или запрос содержит значения,
которые использует поле со списком.
 в списке доступных таблиц выделите КАФЕДРА – из нее будут
браться значения;
 в третьем диалоговом окне выберите поля: ККАФ и НКАФ, эти
поля образуют записи списка;
 в четвертом диалоговом окне определите ширину столбцов списка в
соответствии с размером значений. Для этого установите курсор на
64
линию, разделяющую имена столбцов и переметите ее в нужное
место.
Чтобы не выводить в поле со списком код ККАФ, рекомендуется
Скрыть ключевой столбец.
 в пятом окне отметьте Сохранить в поле и выберите поле формы
ККАФ;
 введите подпись поля со списком: Кафедра;
 нажмите кнопку ГОТОВО.
3. Опробуйте форму.
4. Проверьте записи в таблице ПРЕПОДАВАТЕЛЬ.
5. Откройте бланк свойств и изучите свойства поля со списком,
установленные Мастером:
 Свойство Данные показывает, что поле со списком связано с полем
ККАФ.
 Свойство Тип источника строк – Таблица / Запрос, указывает
откуда поступают данные.
 Свойство Источник строк - [КАФЕДРА][ККАФ].
 Свойство Число столбцов - 2, используется два столбца.
 Свойство Заглавие столбцов - НЕТ, значит, при раскрытии списка
заголовки не выводятся.
 Свойство Ширина столбцов - 0, 2.355, это значит, первый столбец
не выводится.
 Свойство
Присоединенный
«спрятанный»
первый
столбец
столбец
-
(ККАФ)
1,
указывает,
является
что
столбцом,
значение которого используется в качестве значения поля со
списком.
 Свойство Ограничиться списком - НЕТ, в этом случае в поле со
списком можно ввести значения, которых нет в списке. Значение
ДА разрешает выбор значений из таблицы КАФЕДРА.
65
Создание
группы,
содержащей
справку
о
флажки,
выключатели
или
переключатели
Получите
создании
Переключателей,
Флажков,
Выключателей, Переключателей: Справка / Поиск / «Флажок».
Задание:
Создайте форму Карточка студента, включите в нее переключатели
курса и флажки для определения отношения к воинской службе.
1. В таблицу СТУДЕНТ добавьте поле Курс (целое).
2. Создайте форму Карточка студента.
Разместите в ней все поля таблицы, поля Курс и Военнообязанный из
формы удалите.
3. В режиме конструктора в форме создайте управляющий элемент
Группа переключателей: Курс 1, Курс 2, Курс 3, Курс 4, Курс 5:
 Выведите список таблиц.
 Щелкните по кнопке Группа в группе команд Элементы
управления и перетащите поле Курс из списка полей в форму на
пустое место, растяните границы группы так, чтобы поместилось
пять кнопок переключателей и связанные с ними надписи.
 Дважды щелкните по кнопке Переключатель и последовательно
разместите пять переключателей (а не их надписи) один за другим.
 Просмотрите свойства Значение для переключателей, оно должно
иметь значение от 1 до 5.
 Щелкните по надписи каждого переключателя и введите с
клавиатуры название каждого переключателя, таким образом,
чтобы их коды совпадали со значениями соответствующих
переключателей.
66
 Перейдите
в
Режим
формы,
чтобы
увидеть
результаты
выполненных действий.
Выполните проверку, щелкнув по одному из переключателей, а затем
переключившись в режим таблицы. Обнаружите, что значение поля Курс в
соответствующей
записи
равно
относительному
номеру
нажатого
переключателя (рисунок 5.1).
Примечание: Можно создавать флажки, выключатели и переключатели
с помощью Мастера.
4. В режиме конструктора в форме Карточка студента создайте
управляющий элемент Флажок, свяжите его с полем Военнообязанный
таблицы СТУДЕНТ. Действия подобны описанным выше. В режиме формы
проверьте работу Флажка.
Рисунок 5.1 – Переключатели курса
Контрольные вопросы
1.
Перечислите элементы управления в форме.
2.
Охарактеризуйте присоединенный, свободный и вычисляемый
элемент управления.
3.
Как создать присоединенный элемент управления с помощью
мастера.
4.
Чем отличаются элементы управления список и поле со списком?
5.
Как создается группа, содержащая флажки, выключатели или
переключатели.
67
Лабораторная работа № 6
Разработка многотабличных форм
Цель: Получить основы создания составных многотабличных форм в
режиме Конструктора и с помощью Мастера форм, подключения подчиненной
формы, разработки многотабличных форм без подчиненных форм, создание
кнопок для перехода к другой записи. Разработка многостраничных форм и
форм с вкладками.
Теоретические сведения
Основы создания многотабличной формы
Многотабличная
форма
создается
для
работы
с
несколькими
взаимосвязанными таблицами. Многотабличная форма может состоять из
основной части и одной или нескольких подчиненных включаемых форм, т. е.
быть составной. Подчиненная форма может быть построена на основе, как
подчиненной, так и главной таблицы относительно таблицы – источника
основной части формы.
Многотабличная форма может не иметь включаемых форм. В этом случае
в форму, кроме полей таблицы, на основе которой она строится, добавляются
поля из связанной с ней таблицы, являющейся главной относительно основной
таблицы формы.
Многотабличная форма может быть создана в режиме Конструктора или
с помощью Мастера форм. Наиболее технологичным является первоначальное
создание форм с помощью Мастера с последующей их доработкой в
Конструкторе.
Мастер
упрощает
процесс
создания
формы,
автоматически выполняет большинство требуемых операций.
Перед созданием составной формы целесообразно определить:
 подсхему данных;
 общую структуру экранной формы;
68
так
как
 состав размещаемых реквизитов для каждой из частей составной
формы.
Создание многотабличной формы с помощью Мастера форм
Мастер форм предоставляет возможность выбрать включаемые в форму
поля из нескольких взаимосвязанных таблиц, а также запросов, и на их основе
создает многотабличную форму, используя различные способы ее построения.
Способы построения многотабличной формы:
 Явное включение подчиненной формы.
Подчиненная
форма
отображает
данные
из
всех
записей
подчиненной таблицы, которые связаны с записью главной
таблицы, отображаемой в основной части формы.
 Вызов связанной формы по кнопке.
Вместо подчиненной формы включается лишь кнопка, нажатие
которой вызывает на экран связанную форму.
 Многотабличная форма без подчиненных и связанных форм.
Форма отображает поля из записи подчиненной таблицы и поля из
единственной связанной с ней записи главной таблицы. Данные
главной
таблицы,
отображаемые
в
такой
форме,
будут
повторяться.
 Многотабличная форма на основе запроса.
Задание:
Создайте форму СПИСОК ГРУППЫ в режиме Мастера форм для
одновременной загрузки и корректировки данных двух таблиц ГРУППА и
СТУДЕНТ (рисунок 6.1).
69
Рисунок 6.1 – Пример оформления формы СПИСОК ГРУППЫ для работы с
данными двух взаимосвязанных таблиц ГРУППА И СТУДЕНТ
1. Подготовительный этап создания составной формы
1.1. Просмотрите подсхему Группа - Студент. Она должна иметь вид,
представленный на рисунке 6.2.
Рисунок 6.2 – Схема связи таблиц Группа и Студент
70
1.2. Определите общую структуру составной формы, которую назовем
СПИСОК ГРУППЫ:
 тип формы – многотабличная;
 источник записей для составной части формы - таблица ГРУППА;
 включаемая подчиненная форма СПИСОК СТУДЕНТОВ.
Форму СПИСОК СТУДЕНТОВ определяют:
 тип формы - подчиненная, многозаписевая;
 источник записей - таблица СТУДЕНТ.
1.3. Размещение реквизитов основной и подчиненной форм.
В верхней части формы СПИСОК ГРУППЫ разместим названия
реквизитов, соответствующих полям таблицы ГРУППА:
 номер группы (НГ - ключ);
 количество студентов (КОЛ);
 средний балл группы (СБАЛЛ).
В подчиненной форме СПИСОК СТУДЕНТОВ разместим в качестве
заголовков многозаписевой формы названия реквизитов, соответствующих
поле таблицы СТУДЕНТ:
 номер студента в группе (НС);
 фамилия И.О. (ФИО);
 год рождения (ГОДР);
 адрес (АДРЕС);
 средний балл студента (БАЛЛ).
2. Этап создания формы СПИСОК ГРУППЫ для двух таблиц с
помощью Мастера.
2.1. Выбор таблиц и полей для формы
Для создания формы в окне базы данных надо выбрать вкладку Создание
и в группе команд Другие формы и нажать клавишу Мастер форм.
71
В открывшемся окне СОЗДАНИЕ ФОРМ последовательно выбираются
таблицы и из них поля, включаемые в форму.
Для данного примера выберите поля НГ, КОЛ, СБАЛЛ, Куратор
таблицы ГРУППА и поля НГ, НС, ФИО, ГОДР, АДРЕС, БАЛЛ таблицы
СТУДЕНТ.
Внимание! Если выбраны поля из таблиц, для которых не определена
связь в схеме данных, появится сообщение о невозможности создать форму.
2.2. Выбор типа, вида и стиля оформления формы
 В окне СОЗДАНИЕ ФОРМ выберите один из двух возможных
типов подчинения формы:
o
для непосредственного включения подчиненной формы надо
отметить Подчиненные формы;
o
для включения кнопки, вызывающей связанную форму, надо
выбрать Связанные формы.
Выберите тип Подчиненные формы.
 Выберите вид Ленточная или Табличная для подчиненной или
связанной формы.
Выберите вид Ленточная.
 Выверите стиль оформления (Обычный), который определяет
отображение надписей и значений полей в форме.
 В последнем диалоговом окне СОЗДАНИЕ ФОРМ можно
отредактировать заголовки форм и выбрать дальнейшие действия
o
Открытие формы для просмотра или ввода данных;
o
Изменение макета формы.
Введите:
 имя составной формы: СПИСОК ГРУПП;
 имя подчиненной формы: СПИСОК СТУДЕНТОВ.
Выберите Изменение макета формы:
72
 После нажатия кнопки ГОТОВО, мастер завершает создание
формы. Сохранение форм производится автоматически.
 Перейдите в режим формы.
2.3. Доработка формы в режиме Конструктора. Можно перемещать
поля, менять их свойства:
шрифт, размеры, подпись поля, текст в заголовке.
 Проверьте
правильность
подключения
подчиненной
формы
(Мастер может допускать ошибки подключения!).
o
В
окне
Базы
данных
выберите
форму
СПИСОК
СТУДЕНТОВ;
o
Перейдите в Конструктор;
o
Вызовите свойства формы (правой кнопкой на пустой зоне).
o
Вкладка Данные: в поле Источник записей должно быть
название таблицы СТУДЕНТ.
 Отредактируйте форму СПИСОК ГРУПП
o
измените размещение полей;
o
создайте кнопки для перехода к другой записи (клавиши
управления курсором «вверх», «вниз» и STOP)
o
нажмите кнопку Использовать мастера, затем кнопку
Кнопка.
o
Переместите Кнопку в нужное место и вычертите ее рамку,
запустится Мастер кнопок.
o
Выполните действия в окне Создание кнопки.
o
Удалите полосы прокрутки и поле номера записи для смены
номера группы.
Для этого вызовите бланк свойств формы СПИСОК ГРУПП и на
вкладке Макет в строке Полосы прокрутку укажите Отсутствует, Поле
номера записи - Нет.
 Отредактируйте подчиненную форму.
73
o
выберите форму СПИСОК СТУДЕНТОВ и откройте в
режиме Конструктора;
o
удалите поле НГ;
o
переместите другие поля (рисунок 6.3).
Рисунок 6.3 – Подчиненная форма СПИСОК СТУДЕНТОВ в режиме
Конструктора после доработки
3. Перейдите в режим формы СПИСОК ГРУПП и введите три записи.
Проверьте работу созданных кнопок. Для завершения работы с формой
нажмите созданную в форме кнопку STOP.
Добавление подчиненной формы в ранее созданную форму
Задание:
Создайте
форму
для
загрузки
двух
таблиц
КАФЕДРА
ПРЕПОДАВАТЕЛЬ путем добавления подчиненной (рисунок 6.4).
74
и
Математики и информатики
241-37-42
Уточкин С.П.
Никитин Г.С.
Смехова И.В.
Рисунок 6.4 – Форма для загрузки и работы с таблицами КАФЕДРА –
ПРЕПОДАВАТЕЛЬ
1. Создайте форму СПИСОК КАФЕДР.
2. Откройте форму СПИСОК КАФЕДР в режиме Конструктора и
разместите поля.
Можно
воспользоваться
ранее
созданной
формой
КАФЕДРА.
Переименуйте ее в СПИСОК КАФЕДР.
3. Создайте форму СПИСОК ПРЕПОДАВАТЕЛЕЙ:
4. Отредактируйте в режиме Конструктора. Удалите из формы поле Код
кафедры.
После редактирования форму нужно сохранить, нажав на кнопку
Сохранить на панели инструментов.
4. Добавьте в форму СПИСОК КАФЕДР подчиненную форму:
75
 Откройте форму СПИСОК КАФЕДР в режиме Конструктора;
 На панели элементов нажмите кнопку Подчиненная форма,
установите курсор на место размещаемого объекта и растяните
рамку;
 Установите связь:
o
Выделите этот объект.
o
В окне Свойств на вкладке Данные укажите объект-источник
СПИСОК ПРЕПОДАВАТЕЛЕЙ
 Задайте свойства главной формы.
 Проверьте работу формы.
 В качестве фотографий добавьте рисунок. Для этого:
o
в режиме конструктора щелкните кнопку Рисунок;
o
растянуть рамку рисунка в нужном месте формы;
o
указать нужный файл с рисунком, например, фотографии из
коллекции базы данных Борей;
o
если рисунок не поместился в рамку, надо вызвать Свойства
правой кнопкой мыши, в строке Установка размеров вместо Фрагмент
задать Вписать в рамку или По размеру рамки.
Разработка многотабличной формы без подчиненной
Задание:
Создать форму, в которой отображались бы данные о каждом отдельном
занятии, а также дополнительная информация о группе, предмете и
преподавателе.
Источник записей - таблица ИЗУЧЕНИЕ.
Источники дополнительных полей для расшифровки идентификаторов,
отображаемых из таблицы ИЗУЧЕНИЕ, - таблицы ГРУППА, ПРЕДМЕТ,
ПРЕПОДАВАТЕЛЬ.
Подсхема данных состоит из четырех таблиц (см. схему базы данных).
76
Общая структура формы – одиночная многотабличная без подчиненных
форм.
Порядок создания формы с помощью Мастера форм:
1. В окне Новая форма выберите таблицу – источник ИЗУЧЕНИЕ и
Мастер форм. В первом окне Создание форм выберите все поля таблицы
ИЗУЧЕНИЕ, затем поля КОЛ, СБАЛЛ таблицы ГРУППА, НП, Часы, ЛЕК,
ПР таблицы ПРЕДМЕТ, ФИО, СТ, ЗВ таблицы ПРЕПОДАВАТЕЛЬ.
2. В следующем окне мастер предлагает тип формы – Одиночная
форма.
3. Далее выберите вид формы – В один столбец.
4. Доработайте форму в режиме конструктора.
5. Сохраните форму под именем ЗАНЯТИЯ.
77
Лабораторная работа № 7
Работа с данными при помощи Запроса
Цель:
1. Освоить конструирование однотабличных и многотабличных запросов
на выборку в режиме Конструктора, задание условий отбора записей,
использование вычисляемых полей.
2. Научиться создавать запросы –действия.
Порядок работы
Конструирование однотабличного запроса на выборку
Задание:
Создать запрос на выборку для получения информации из таблицы
ПРЕДМЕТ. Запросу дать название «Выбор предметов».
Использование логических операций в условии отбора
*Пусть надо выбрать предметы, по которым общее число часов изучения
не более 100 и есть лекции, а также выбрать предметы, по которым общее
число часов больше 150 и число семестров изучения не более двух. Результат
должен содержать наименование предмета (НП), общее число часов по
предмету (ЧАСЫ), количество лекционных часов (ЛЕК) и число семестров
(ЧС).
 Для создания запроса в окне базы данных выберем вкладку
Создание в группе Другие и нажмём кнопку Конструктор
запросов.
 В диалоговом окне Добавление таблицы выберем таблицу
ПРЕДМЕТ и нажмём кнопку Добавить. Закроем окно Добавление
таблицы.
78
 В области запроса, представленного на рисунке 7.1, в строке Поле
последовательно выберем из таблицы ПРЕДМЕТ поля НП,
ЧАСЫ, ЛЕК и ЧС.
 Сформулированные
условия
требуют
задания
следующего
логического выражения:
(ЧАСЫ<=100 AND ЛЕК<>0) OR (ЧАСЫ>150 AND ЧС<3)
Рисунок 7.1 – Область запроса для ввода данных
Условия из первых скобок запишем в соответствующих полях первой
строки Условия отбора. Между условиями в разных полях одной строки
выполняется логическая операция AND. Условия из вторых скобок запишем в
соответствующих полях второй строки Условия отбора. Между условиями,
записанными в разных строках, выполняется логическая операция OR.
 Выполним запрос, нажав на панели конструктора запросов кнопку
Выполнить
. На экране появится окно запроса в режиме
таблицы с записями из таблицы ПРЕДМЕТ, отвечающими
заданным условиям отбора.
Сохраним запрос, нажав кнопку Сохранить из контекстно-зависимого
меню вкладки Запрос1 и введя имя запроса «Выбор предметов». Закроем
запрос по команде контекстно-зависимого меню Закрыть.
 Выполним сохранённый запрос нажатием кнопки Открыть в окне
базы данных.
79
Использование в условии отбора выражений с именам полей
В предыдущем примере в условии отбора в качестве операндов
использовались только значения для отбора по конкретным полям. Создадим
запрос, в условии отбора которого сравниваются значения в разных полях.
*Пусть необходимо проверить правильность задания общих часов в
таблице ПРЕДМЕТ. По запросу должны отбираться только те записи, в
которых значение в поле ЧАСЫ не равно значению, получаемому при
сложении значений полей ПР и ЛЕК.
Такое условие записывается в бланке запроса в столбце ЧАСЫ и в нём
используются имена полей ПР и ЛЕК: <>[ЛЕК]+[ПР].
Запрос сохраните под именем «Проверка часов по предметам».
Задание:
Создать запрос к табл. СТУДЕНТ: выбрать студентов третьего курса,
военнообязанных. Дать название запросу «Третьекурсники».
Определить:
 сортировку по фамилии;
 на экран вывести поля ФИО, АДРЕС;
 задать
условие
отбора:
в
поле
НГ
задать
3*,
в
поле
Военнообязанный -1 или да.
Задание:
Создать запрос к табл. СТУДЕНТ: «Неуспевающие студенты ФМФ».
Вывести поля ФИО, НГ.
Задание:
Создать запрос к таблице ПРЕПОДАВАТЕЛЬ выбрать преподавателей,
имеющих ученую степень кандидата или доктора наук. Вывести поля ФИО,
степень, должность. Дать название запросу «Преподаватели с ученой
степенью».
80
Предварительно
в
таблице
ПРЕПОДАВАТЕЛЬ
добавить
поля
ДОЛЖНОСТЬ (тип: текстовый). Значения в таблице: зав. каф., доцент, ст.
препод., ассистент.
ОКЛАД и ПОЛЯРКА (тип: числовой, размер поля: С плав. точкой (4
байта)).
В запросе определить:
 сортировку по фамилии;
 на экран вывести все заданные поля;
 задать условие отбора: Like[ к*] OR Like[ д*] .
Конструирование многотабличного запроса на выборку
Задание 5
Создать запрос «Преподаватели кафедры», в нём использовать поля
ФИО,
должность
(таблица
ПРЕПОДАВАТЕЛЬ)
и
НКАФ
(таблица
КАФЕДРА): выбрать преподавателей конкретной кафедры, название которой
должно запрашиваться.
Определить:
 сортировку по фамилии;
 на
экран
вывести
все
указанные
поля
таблицы
ПРЕПОДАВАТЕЛЬ;
 задать условие отбора в поле НКАФ, используя параметр запроса:
[кафедра ].
Задание:
Создать запрос
«Ведомость по зарплате»; в нём использовать поле
ФИО (таблица ПРЕПОДАВАТЕЛЬ) и НКАФ ( таблица КАФЕДРА) и создать
вычисляемое поле Заработок.
Предварительно в таблицу ПРЕПОДАВАТЕЛЬ добавить поля Оклад и
Полярки (тип числовой);
81
Создать вычисляемое поле в запросе можно непосредственно вводом
выражения в пустую ячейку строки Поле бланка запроса или используя
Построитель:
Выражение 1: [ Оклад ] * [ Полярка ] + [ Оклад ]
Правой кнопкой мыши щёлкнуть по вычисляемому полю и вызвать
Свойства в строке Подпись ввести Заработок. Задать также формат в поле
Заработок. Сохранить запрос под именем «Ведомость по зарплате».
Использование групповых операций в запросах
Задание:
Создать запрос на выборку для таблицы СТУДЕНТ «Число студентов в
Группе».
 в бланк запроса перетащите поля НГ и НС; по полю НС должна
производиться группировка; используется функция Count;
 в строке условие отбора вызвать контекстно-зависимое меню,
нажав правую кнопку мыши, выбрать из списка команду
Построить, выбрать Функции, Встроенные функции в диалоговом
окне Построитель запросов (рисунок 7.2), затем найти в списке
функцию Count;
 Изменим подпись поля Count_НС на «Фактическое число
студентов»;
 Сохраним запрос под именем «Число студентов в группе».
82
Рисунок 7.2 – Диалоговое окно Построитель выражений
Задание:
Выполнить расчёт числа студентов и среднего балла в группе в одном
запросе, при условии, что балл студента более 3. Сохранить под именем
«Число студентов и средний балл».
В бланке Свойств полей укажите названия полей Число студентов для
поля НС и Средний балл для поля БАЛЛ.
Создание перекрестного запроса с помощью Мастера
Задание:
Создать перекрёстную таблицу на примере таблицы УСПЕВАЕМОСТЬ.
Пусть необходимо для каждого преподавателя определить число студентов,
знания которых он оценил по лекционному или практическому занятию.
Сохраните запрос под именем «Число сдач».
При создании этого запроса для заголовков строк надо выбрать поле
ТАБН – табельный номер преподавателя, для заголовков столбцов – ВИДЗ
(вид занятия). Для ячейки таблицы выбрать номера всех студентов, которые
экзаменовались у данного преподавателя по данному виду занятия. Для
83
вычисления значения в ячейке таблицы выберем функцию Count для поля НС
(номер студента).
Эта функция даст число студентов, аттестованных преподавателем по
лекционным и практическим занятиям. Подсчёт итогового значения для строк
позволит
получить
общее
число
студентов,
знания
которых
оценил
табельные
номера
преподаватель.
Чтобы
получить
в
таблице
фамилии,
а
не
преподавателей, перед тем как создавать перекрёстный запрос, нужно создать
простой
запрос
(Запрос
1)
для
таблиц
УСПЕВАЕМОСТЬ
и
ПРЕПОДАВАТЕЛЬ. В схеме данных должна быть установлена связь этих
таблиц
по
полю
ТАБН.
В
этом
запросе
выбрать
из
таблицы
ПРЕПОДАВАТЕЛЬ поле ФИО, а из таблицы УСПЕВАЕМОСТЬ поля ВИДЗ
и НС. Перекрёстный запрос надо строить на этом запросе выборки,
использовав ФИО в качестве поля для заголовков строк.
Корректировка данных средствами запросов - действий
Задание:
Создать запросы на удаление.
Первоначально Запрос на удаление создаётся как Запрос на выборку,
содержащий таблицы, из которых требуется удалить записи. Затем в окне
конструктора запросов он превращается в Запрос на удаление с помощью
кнопки Удаление
на панели инструментов (вкладка Конструктор,
группа команд Тип запроса).
После выполнения этой команды в бланке запроса появляется строка
Удаление. С помощью мыши надо переместить символ * из списка полей
84
таблицы, записи которой требуется удалить, в бланк запроса. В строке
Удаление в столбце этого поля появляется значение Из.
Для того чтобы задать условия отбора удаляемых записей, надо
переместить с помощью мыши в бланк запроса поля, для которых
устанавливаются условия отбора. В строке Удаление под именами этих полей
появляется значение Условие. Строку Условие отбора для этих полей надо
заполнить необходимыми условиями.
Совет. Для предварительного просмотра удаляемых записей можно
нажать кнопку Представление запроса на панели инструментов. Для
возврата в режим конструктора запроса также используется эта кнопка.
Для удаления записей нажимается кнопка Выполнить на панели
инструментов.
Задание:
1) Удалить из таблицы КАФЕДРА конкретную кафедру;
Поле: НКАФ;
Имя таблицы: Кафедра;
Удаление: Условие;
Условие отбора: [Кафедра].
2) Удалить из таблицы СТУДЕНТ всех студентов, балл которых равен,
например, 3.5. Балл можно определять, задав в поле условие отбора [Балл
удаления].
Задание:
Создать запрос на обновление: в таблице ПРЕПОДАВАТЕЛЬ оклад
сотрудников уменьшить в 1000 раз. Дайте название запросу «Результат
деноминации».
Для этого:
 создать запрос на выборку;
85
 Конструктор – Тип запроса - Обновление
;
 включить поля, требующие обновления;
 ввести
в
строку
Обновление
значение
или
выражение,
определяющее новое значение;
 воспользуйтесь Построителем выражения;
 кнопка Выполнить;
 Главная – Режим - Режим таблицы.
Контрольные вопросы
1. Назначение и виды запросов.
2. Как сконструировать многотабличных запросов на выборку в режиме
Конструктора?
3. Как задаются условия отбора записей?
4. Что такое параметры запроса?
5. Использование вычисляемых полей.
6. Перечислите запросы – действия, как они создаются.
86
Лабораторная работа № 8
Создание отчетов
Цель: освоить конструирование однотабличных и многотабличных
отчетов.
Теоретические сведения
Средства Access по разработке отчетов позволяют конструировать отчеты
простой и сложной структуры, обеспечивающей вывод взаимосвязанных
данных из многих таблиц.
Можно группировать данные по нескольким уровням, производить
вычисления итогов, определять заголовки и примечания по каждой группе. При
формировании отчета могут производиться разнообразные вычисления.
Для
вывода
взаимосвязанных
данных
в
многотабличный
отчет
необходимые связи устанавливаются автоматически в соответствии со схемой
данных.
Многотабличные отчеты могут содержать основную часть и включаемую
часть, т.е. подчиненный отчет. При этом каждая из этих частей строится на
основе своей таблице.
Отчет может создаваться с помощью мастера или в режиме конструктора
отчетов. Во многих случаях удобно использовать мастер отчетов. Созданный
мастером отчет можно доработать в режиме конструктора.
Разделы отчета в окне конструктора отчетов:
 Заголовок отчета выводится только в начале отчета.
 Верхний колонтитул выводится в верхней части каждой страницы.
 Область данных содержит записи таблицы или запроса.
 Нижний колонтитул выводится в нижней части каждой страницы.
 Примечание отчета выводится только в конце отчета.
Наличие этих разделов, а также их добавление или удаление определяется
командой меню Создание – Конструктор отчетов, затем нужно вызвать
87
контекстно-зависимое меню Нижний колонтитул и выбрать Колонтитул
страницы или Заголовок/примечание отчета.
Создание отчета для одной страницы таблицы
Задание:
Создать однотабличный отчет получения списков студентов по группам.
Макет формируемого отчета должен иметь вид как на рисунке 8.1. На макете
показано оформление списка студентов для одной группы. В отчете должны
последовательно со своими заголовками выводиться списки студентов для
каждой группы.
 При
формировании
отчета
необходимо
рассчитать
средний
проходной балл для каждой группы.
 Записи списка группы должны выводиться в порядке возрастания
номера студента в группе.
 На каждой странице отчета предполагается вывод названия отчета.
Рисунок 8.1 – Макет отчета со списками студентов по группам
Порядок работы
1. В окне базы данных выберем вкладку Создание и нажмем кнопку
Мастер отчетов. В окне Новый отчет выберем таблицу СТУДЕНТ, которая
будет источником данных для отчета. Для создания отчета в режиме
конструктора выберем Конструктор отчетов.
88
2. Группировка данных отчета. Выполним группировку по полю НГ -
номер группы. Для этого нажмем кнопку Группировка
инструментов
конструктора,
выберем
Добавить
на панели
группировку
и заполним поля открывшегося окна как на
рисунке 8.2.
Рисунок 8.2 – Поля диалогового окна Добавить группировку
В окне будет представлено поле НГ, по которому определена
группировка и поле НС, по которому определена только сортировка. Если
установить курсор в строку поля НС, в его свойствах будет проставлено НЕТ
как в строке заголовка, так и в строке примечания, что и определяет только
сортировку
по
этому
полю.
В
окне
конструктора
отчета
появятся
дополнительные разделы Заголовок группы НГ, Примечание группы
(рисунок 8.3).
89
Рисунок 8.3 – Окно конструктора отчетов при разработке отчета «Списки
групп»
3. Размещение данных в разделах отчета
 Разместим поле НГ в разделе Заголовок группы НГ. Для этого
нажмем кнопку панели инструментов конструктора отчетов Список
полей и перетащим поле НГ в раздел заголовка НГ.
 Откорректируем подпись поля, изменив ее на Список студентов
группы.
 Установим нужный шрифт в элементах. Нажмем кнопку панели
инструментов По размеру данных для установки размеров рамки
по размерам текста подписи.
 Для формирования табличной части отчета последовательно
разместим поля НС, ФИО, ГОДР, ПБАЛЛ в области данных. Поле
размещается вместе с подписью, которая берется из структуры
таблицы СТУДЕНТ. Подписи полей можно перенести в область
заголовка путем вырезания и вставки. Заметим, что подписи также
можно
создать
заново,
воспользовавшись
элементов Надпись.
90
кнопкой
панели
4. Включение вычисляемого поля в отчет
Для включения расчетного реквизита Средний проходной балл группы
нажмем кнопку Поле на панели элементов и разместим элемент Свободный в
раздел Примечание группы НГ.
Определим в свойствах этого элемента выражение для расчета среднего
значения. Для этого запишем на закладке Данные в строку Данные функцию
=Avg ([ПБАЛЛ]), в строку Число десятичных знаков - 2, на закладке Макет в
строку Формат поля – Фиксированный. Отредактируем подпись поля. Для
этого выделим подпись и вызовем ее свойства. В свойствах на закладке Макет
в строке Подпись запишем – Средний проходной балл группы.
5. Добавление текущей даты и номера страницы
Для добавления в отчет текущей даты воспользуемся встроенной
функцией Now(). Для этого создадим в заголовке отчета свободный элемент,
нажав кнопку Поле, и зададим в окне его свойств на закладке Данные в строке
Данные
– =Now(). На закладке Макет в строке Формат поля выберем
значение – Полный формат даты. Подпись этого поля выделим и удалим.
Добавить в отчет поле текущей даты и времени можно также, выполнив в
режиме конструктора команду Конструктор, в группе каманд Элементы
управления команду Дата и время
. Установка в диалоговом окне Дата и
время флажков Формат даты и/или Формат времени позволяет вставить
текущую дату и/или текущее время и выбрать нужный формат. Если в отчете
имеется раздел заголовка, поле добавляется в этот раздел, иначе оно вносится в
раздел данных.
В качестве выражения записывается функция Format, которая формирует
значение на основе заданных ей аргументов. Аргументами ее является функция
Date(), возвращающая текущую системную дату, и формат, в котором должна
выводиться дата.
 Для вставки номера страницы в нижний колонтитул создадим
свободный элемент и заполним в его свойствах на закладке Данные
строку Данные выражением =[Page]. Отредактируем подпись этого
91
поля, записав в его свойствах на закладке Макет в строке Подпись
- Стр.
Добавить в отчет поле нумерации страниц можно, открыв в режиме
конструктора вкладку Конструктор и в группе команд Элементы управления
выбрав команду Номер страницы. В окне диалога Номера страниц
выбираются параметры, определяющие формат, расположение и выравнивание
номеров страниц. Для печати номера страницы на первой странице
устанавливается флажок Отображать номер на первой странице.
Номера страниц выводятся с помощью выражения, записываемого в
свойствах поля на закладке Данные в строке Данные. Выражение может иметь
вид: =“Страница”&[Page] или =“Страница”&[Page]& “ из “&[Pages], что
соответствует выбранному Страница N (Page N) или Страница N из М (Page N
of M).
6. Завершение оформления отчета
В Заголовок отчета введем название отчета – СПИСКИ СТУДЕНТОВ.
Для этого воспользуемся кнопкой панели элементов Надпись. Установим
нужный шрифт надписи, воспользовавшись панелью форматирования.
Для вывода названия отчета на последующих страницах введем его также
в Верхний колонтитул. Для этого можно скопировать название из раздела
Заголовок отчета и вставить в раздел Верхний колонтитул, а затем выбрать
нужный шрифт. Далее надо указать в свойствах отчета на закладке Макет в
строке Верхний колонтитул – Без заголовка. Свойства отчета могут быть
вызваны при установке курсора на квадрате пересечения линеек.
Создадим линии в соответствии с макетом, воспользовавшись кнопкой
панели элементов Линия.
7. Просмотр и печать отчета
Переход из режима конструктора отчетов в режим предварительного
просмотра осуществим, нажав кнопку Представление отчета (вкладка
Главная, кнопка Режим). Для просмотра ранее созданного отчета нужно в
92
окне базы данных выбрать Отчеты и нажать кнопку Просмотр. Отчет при
просмотре отобразится на экране таким, каким он будет напечатан.
В
режиме
предварительного
просмотра
имеется
своя
панель
инструментов. Кнопка Масштаб позволяет видеть страницу отчета целиком.
Для просмотра нужных страниц отчета можно использовать поле номера
страницы в нижнем левом углу окна.
Кнопка
Печать
панели
инструментов
режима
предварительного
просмотра позволяет вывести данный отчет на печать.
С помощью команды главного меню Печать можно выбрать принтер,
задать формат бумаги, размер полей, расстояние между строками, ориентацию
и т.д. Команда Печать позволяет выбрать для печати отдельные страницы
отчета или выделенные записи, распечатать заданное число копий, вывести
отчет в файл, который должен распечатываться в другое время.
Разработка многотабличных отчетов
Задание:
Подготовить отчет, содержащий сведения о кафедрах, включая списки
преподавателей.
Макет отчета представлен на рисунке 8.4.
Рисунок 8.4 – Макет отчета
В соответствии с макетом источником данных для основной части отчета
является таблица КАФЕДРА, из нее предполагается выводить данные по
93
каждой кафедре, включая название, код, телефон, фамилию заведующего. В
табличной
части
преподавателей.
по
Такие
каждой
данные
кафедре
могут
необходимо
быть
вывести
получены
из
список
таблицы
ПРЕПОДАВАТЕЛЬ, которая и будет источником данных для подчиненной
формы со списком преподавателей.
Таким образом, многотабличный отчет создается на основе таблиц
КАФЕДРА и ПРЕПОДАВАТЕЛЬ, которые находятся в одно-многозначных
отношениях:
таблица
КАФЕДРА
является
главной,
а
таблица
ПРЕПОДАВАТЕЛЬ подчиненной.
Порядок работы
1. Создание основной части отчета. Создайте в режиме Конструктора
отчет по таблице КАФЕДРА. В раздел Заголовок отчета запишите текст
«КАФЕДРА». В области данных разместите поля таблицы КАФЕДРА НКАФ, ККАФ, ТЕЛ, ЗАВ. Поля и подписи отредактируйте их в соответствии
с макетом. Сохраните отчет под именем Кафедры.
2. Разработка подчиненного отчета. Подчиненный отчет создается как
обычный однотабличный отчет. Для автоматического создания в окне Новый
отчет выберите Автоотчет: ленточный. В качестве источника данных этого
объекта выберите таблицу ПРЕПОДАВАТЕЛЬ.
3. Доработка подчиненного отчета в режиме конструктора. Расширим
отдел заголовка отчета, выделим все подписи столбцов в верхнем колонтитуле
и перетащим их в заголовок. Удалим оба колонтитула, нажав кнопку
Колонтитулы. Удалим элемент поля ККАФ и его надпись Код кафедры.
Сохраним подчиненный отчет под именем Преподаватели.
4. Включение подчиненного отчета. Разместим на экране окно базы
данных рядом с окном отчета Кафедры в режиме конструктора. Выберем
подчиненный отчет Преподаватели в окне базы данных и перетащим его в
область данных отчета Кафедры. Удалим подпись подчиненного отчета,
94
выделив ее и нажав <Del>. Подчиненный отчет отмечен в отчете Кафедры
рамкой с его названием Преподаватели.
Для включения подчиненного отчета можно также воспользоваться
кнопкой панели элементов Подчиненная форма/отчет. При выключенной
кнопке панели элементов Мастер элементов создается элемент свободный с
надписью внедренный. В свойствах этого элемента необходимо на закладке
Данные
в
строке
Объект-источник
выбрать
встраиваемый
отчет
Преподаватели.
Примечание: Access автоматически устанавливает связь между
основным и подчиненным отчетом по полю ККАФ, т.к. она определена в схеме
данных. При этом не имеет значения, включено ли поле связи в подчиненный
отчет.
5.
Просмотрите
содержимое
отчета
Кафедры,
нажав
кнопку
Представление отчета.
6. Для вывода записей отчета в определенном порядке задается критерий
сортировки. Для этого в режиме конструктора надо нажать кнопку в области
выделения отчета (на пересечении линеек) и вызвать контекстно-зависимое
меню. В меню выбрать строку Сортировка и группировка и в открывшемся
диалоговом окне выбрать поле сортировки. При необходимости сортировки и
группировки записей подчиненного отчета необходимо выполнить такие же
действия для подчиненного отчета.
95
Лабораторная работа № 9
Создание панели управления приложения
Цель: Создать главную кнопочную форму, которая будет использоваться
как панель управления приложения «Учебный_процесс» и открываться
автоматически при запуске приложения.
Теоретические сведения
Фрагмент структуры приложения «Учебный_процесс» приведен на
рисунке 9.1.
Главная кнопочная форма
Учебный процесс
Рисунок 9.1 – Фрагмент структуры приложения «Учебный_процесс»
96
Задание:
Создать главную кнопочную форму, которая будет использоваться как
панель
управления
приложения
«Учебный_процесс»
и
открываться
автоматически при запуске приложения.
Порядок работы
1. Создание главной кнопочной формы приложения «Учебный_процесс»
с помощью диспетчера кнопочных форм
. Если данная кнопка отсутствует
на панели инструментов, то добавить ее можно на панель быстрого доступа –
Главное меню программы - параметры Access – Настройка. Далее
необходимо в списке команд найти Диспетчер форм и добавить эту команду
на панель быстрого доступа.
В окне Диспетчер кнопочных форм подтвердите создание кнопочной
формы. Появится окно со строкой Главная кнопочная форма. В нем
формируется список кнопочных форм разных уровней.
2. Создание других кнопочных форм приложения
Нужно создать три кнопочные формы для комплекса задач деканата,
кафедр и учебного отдела:
 Кнопочная форма Деканат;
 Кнопочная форма Кафедра;
 Кнопочная форма Учебный отдел.
 В окне Диспетчера кнопочных форм нажмите кнопку Создать.
 В окне Создание в поле Имя страницы кнопочной формы введите
имя первой кнопочной формы Кнопочная форма Декана, нажмите
ОК. В окне Диспетчера кнопочных форм появится строка
Кнопочная форма Декана.
 Аналогично создайте две другие кнопочные формы.
 Главную кнопочную форму сделайте стартовой, она будет
открываться по умолчанию при открытии базы данных. Для этого
97
выберите ее имя в окне Диспетчера кнопочных форм и нажмите
кнопку По умолчанию.
3. Редактирование имени и формирование элементов кнопочной формы
Элементами кнопочных форм являются кнопки с подписями. Элементы
кнопочной формы могут быть двух основных типов:
 для вызова других кнопочных форм;
 для открытия объектов приложения, выхода из приложения.
 Для формирования элементов главной кнопочной формы в окне
Диспетчера кнопочных форм выделите соответствующую строку
и нажмите кнопку Изменить.
 В окне диалога Изменение страницы кнопочной формы
переименуйте
Главная
кнопочная
форма
в
Приложение
«Учебный процесс», введя это имя в поле Название кнопочной
формы.
3.1. Сформируйте кнопки для вызова кнопочных форм.
 Для создания кнопки вызова подчиненной кнопочной формы
нажмите кнопку Создать.
 В окне Изменение элемента кнопочной формы
 в строке Текст введите подпись для этой кнопки Задачи
деканата,
 в строке Команда выберите Переход к кнопочной форме.
 в строке Кнопочная форма откройте список созданных
кнопочных форм и выберите Кнопочная форма Деканат.
 Нажмите ОК. Элемент отобразится в списке Элементы данной
кнопочной формы.
 Аналогично создайте кнопки вызова других подчиненных форм и
задайте им подписи Задачи кафедры и Задачи Учебного отдела.
98
Если потребуется изменить или удалить какую-либо из созданных
кнопок, надо выбрать имя этой кнопки в списке Элементы данной кнопочной
формы и нажать кнопку Изменить или Удалить.
Чтобы изменить порядок кнопок в списке надо выбрать элемент и нажать
кнопку Вверх или Вниз.
 Создайте кнопку с именем Изменение кнопочной формы, выбрав
для нее команду Разработка приложения. Это позволит в любой
момент вызвать Диспетчер кнопочных форм и продолжить
редактирование созданных кнопочных форм.
 Создайте кнопку с именем Выход из приложения, выбрав для нее
команду с таким же именем.
 Закончив создание страницы кнопочной формы, нажмите кнопку
Закрыть.
Вернетесь к списку всех кнопочных форм приложения.
 В подчиненных кнопочных формах создайте кнопку для возврата к
главной кнопочной форме, заполнив поля в окне Изменение
элемента кнопочной формы:
o в строке Текст введите Возврат в главную кнопочную
форму;
o в строке Команда выберите Переход к кнопочной форме;
o в строке Кнопочная форма откройте список созданных
кнопочных форм и выберите Приложение Учебный процесс.
Таким образом, могут быть установлены все необходимые связи между
кнопочными формами, представленными в списке окна диспетчера кнопочных
форм.
3.2. Формирование элементов для открытия объектов приложения
Для связи создаваемой кнопки с нужным объектом (формой, отчетом,
макросом, модулем) надо в окне Изменение элемента кнопочной формы в
строке Команда выбрать одну из команд:
99
 Открытие формы в режиме добавления.
 Открытие формы в режиме редактирования.
 Открытие отчета.
 Запуск макроса.
 Запуск программы.
В третьей строке надо выбрать конкретный объект, соответствующий
указанной команде.
Создайте в кнопочной форме Деканат несколько кнопок:
 Программа курса для открытия формы Предмет - Программа.
 Списки студентов для открытия формы Списки студентов
группы.
 Карточка студента для открытия формы Карточка студента.
Неуспевающие для открытия формы Неуспевающие, построенной на
основе запроса.
Возврат в главную кнопочную форму.
 В окне Диспетчера кнопочных форм выберите Кнопочная форма
Деканат.
 Для создания элементов в этой форме нажмите кнопку Изменить.
 В открывшемся окне Изменение страницы кнопочной формы
нажмите кнопку Создать.
 В окне Изменение элемента кнопочной формы выберите команду
Открытие формы в режиме редактирования.
 В появившейся строке Форма откройте список доступных форм и
выберите форму Предмет - Программа.
 В строку Текст введите подпись кнопки Программа курса.
 Аналогично создайте другие кнопки.
Создайте в кнопочной форме Кафедра несколько кнопок в соответствии
со структурой, показанной на рисунке 9.1..
100
После завершения работы с построителем кнопочных форм в списке
форм базы данных появляется форма с именем Кнопочная форма.
3.3. Добавление рисунка в кнопочную форму
В левой части стандартной кнопочной формы уже создана рамка для
вывода на экран рисунка.
 Переключите кнопочную форму в режим конструктора, щелкнув
по кнопке Представление Формы.
 Щелкните кнопкой мыши на области формы слева и нажмите
правую кнопку мыши.
 В открывшемся окне свойств на закладке Макет в строке Рисунок
укажите путь и имя файла с рисунком или воспользуйтесь кнопкой
построителя и в окне Выбор рисунка откройте папку и выберите
нужный файл.
4. Закройте окно базы данных. Вновь откройте файл базы данных и
проверьте работу приложения.
101
Лабораторная работа № 10
Создание макросов
Цель: на конкретных примерах познакомиться с конструированием и
работой макросов.
Теоретические сведения
Макрос – программа, состоящая из последовательности макрокоманд,
Макрокоманда
–
это
инструкция,
ориентированная
на
выполнение
определенного действия.
Имеющийся в Access набор макрокоманд (более 40) реализует
практически любые действия, необходимые для решения задачи:
 Открытие и закрытие таблиц, запросов, форм и отчетов.
 Печать данных.
 Выполнение запросов.
 Проверка
истинности
условий
и
управление
выполнением
макрокоманд.
 Установка значений.
 Поиск данных.
 Построение пользовательского меню и выполнение команд меню.
 Управление выводом на экран и фокусом.
 Сообщение пользователю о выполняемых действиях.
 Переименование, копирование, удаление и экспорт данных.
 Запуск других приложений.
Макрос создается в диалоговом режиме. В окне макроса последовательно
записываются макрокоманды, для которых задаются параметры. Каждому
макросу присваивается
имя.
При
выполнении
макроса
макрокоманды
выполняются последовательно в порядке их расположения. При этом
используются объекты или данные, указанные в аргументах макрокоманд.
Можно определить условия выполнения макрокоманды.
102
Создание простого макроса
Задание:
Создать макрос «ПРИВЕТСТВИЕ».
1. Создание макроса начинается в окне базы данных, где надо выбрать
вкладку Создание и нажать кнопку Макрос в группе команд Другие, затем в
списке команд выбрать Макрос. После этого открывается окно макроса.
2. Формирование макрокоманд в окне макроса
В окне макроса в верхней
части два столбца с заголовками
Макрокоманда, Аргументы и Примечание. Внизу справа выводится краткое
справочное сообщение, зависящее от положения указателя в строке макроса.
Помните: клавиша <F1> − получение контекстной справки.
 Для ввода макрокоманды нужно нажать кнопку раскрытия списка
макрокоманд в столбце Макрокоманда и выбрать нужную. Можно
ввести имя макрокоманды с клавиатуры.
Выберите в списке макрокоманду, например, Сообщение. Ее можно
использовать для вывода предупреждений, сообщений. Пусть сообщением
является приветствие.
 В
строки
столбца
Примечание
вводят
необязательный
комментарий, описывающий результат выполнения макрокоманды.
 Введите в соответствующую строку столбца Примечание текст
Приветствие.
 В нижней части окна выводятся Аргументы макрокоманды.
Значения аргументов задаются путем выбора их из списка,
открывающегося в строке аргумента. В поле справа выводится
пояснение для выбранного аргумента.
Формирование значений аргументов макрокоманды можно осуществить
также путем перемещения объекта с помощью мыши из окна базы данных в
строку аргумента.
103
Для рассматриваемого примера значения аргументов следующие:
Сообщение – текст, который Access выводит в создаваемом диалоговом
окне при запуске макрокоманды.
Введите: Добро пожаловать.
Сигнал – задает, будет ли выдаваться звуковой сигнал. Определите нет.
Тип – позволяет вставить в диалоговое окно сообщения значок,
например, красный круг с надписью «Stop». Задайте отсутствует.
Заголовок – текст, который будет выводиться в заголовке диалогового
окна сообщения. Введите ACCESS.
3. Сохранение макроса
Из контекстно-зависимого меню вкладки Макрос1 выбрать команду
Сохранить. В диалоговом окне введите имя макроса, в данном случае
Приветствие, щелкните по кнопке ОК.
4. Проверка работы макроса
Для выполнения макроса можно нажать кнопку панели инструментов
Запуск.
Если макрос уже закрыт, то для его выполнения надо в окне базы данных
выбрать макрос и нажать кнопку Выполнить в этом окне.
Для пошаговой проверки работы макроса:
 перейдите в окно базы данных и щелкните по вкладке Макрос,
выделите имя макроса, перейти в режим конструктора, выбрав на
вкладке
Главная
кнопку
Режим
и
щелкнув
по
кнопке
Конструктор. Макрос откроется в режиме конструктора;
 щелкните по кнопке По шагам
в группе команд
Сервис вкладки Конструктор на панели инструментов;
 щелкните по кнопке Выполнить. На экране откроется диалоговое
окно Пошаговое исполнение макроса.
 Щелкните по кнопке Шаг, запустится макрокоманда.
104
 Щелкните по кнопке ОК окна сообщения. Так как макрос состоит
из одной макрокоманды, то Access возвратится в окно макроса.
 Отмените пошаговый режим, щелкнув по кнопке По шагам еще
раз.
Если при выполнении приложения в каком–либо макросе встречается
ошибка, Access выведет сообщение об ошибке. Можно нажать кнопку
Прервать, затем отредактировать макрос.
5. Запуск макроса
Из окна макроса: кнопка Выполнить на панели инструментов.
Из окна базы данных: вкладка Создание, Макрос, установить курсор на
имя макроса и дважды щелкнуть кнопкой мыши или нажать кнопку
Выполнить.
Автоматический запуск макроса при открытии базы данных. Этот макрос
создается как любой другой и сохраняется под именем AutoExec. При
следующем открытии базы данных Access автоматически запустит его.
6. Привяжите макрос Приветствие к кнопке в форме Главная
кнопочная форма.
Способ 1. В форме создайте кнопку. В свойствах кнопки на закладке
События в строке Нажатие кнопки задайте имя макроса Приветствие.
Способ 2. Создание кнопки запуска макроса с помощью мыши.
 Откройте форму в режиме конструктора.
 В окне базы данных выберите вкладку Макрос; перетащите макрос,
который необходимо запустить при нажатии кнопки, из окна базы
данных в форму.
В форму будет помещена кнопка, связанная с данным макросом. Кнопка
будет иметь подпись, соответствующую имени макроса.
Определение нескольких макрокоманд.
105
Задание:
Создадим макрос «ПОИСК ПРЕПОДАВАТЕЛЯ».
Создать макрос, осуществляющий поиск преподавателя с выводом
сообщения «Нашел!» и раскрывающий карточку этого преподавателя.
1. В окне макроса задайте следующие макрокоманды и соответствующие
аргументы:
Рисунок 10.1 – Окно макроса
Аргументы макрокоманд:
1) Макрокоманда ОткрытьТаблицу:
Имя таблицы: ПРЕПОДАВАТЕЛЬ
Режим: Таблица
Режим данных: Изменение
2) Макрокоманда НайтиЗапись:
Образец поиска: Суханова
Совпадение: С начала поля
С учетом регистра: Нет
Область поиска: Все
С учетом формата полей: Нет
Только в текущем поле: Нет
Первое вхождение: Да
3) Макрокоманда Сообщение:
Сообщение: НАШЕЛ!
106
Сигнал: Нет
Тип: Отсутствует
Заголовок: Преподаватель
4) Макрокоманда ВыделитьОбъект:
Тип объекта: Таблица
Имя объекта: Преподаватель
В окне базы данных: Нет
5) Макрокоманда Свернуть:
Аргументов нет
6) Макрокоманда ОткрытьФорму:
Имя формы: Карточка преподавателя
Режим: Форма
Имя фильтра:
Условие отбора:
Режим данных: Изменение
Режим окна: Обычное
7) Макрокоманда НайтиЗапись:
Аналогично п. 2.
4. Проверьте работу макроса, запустив его по шагам.
5. Запустите макрос.
6. Сохраните макрос под именем «ПОИСК ПРЕПОДАВАТЕЛЯ».
Задание:
Самостоятельно создайте макрос, позволяющий вывести на экран из
формы «Список студентов» студентов-хорошистов третьего курса. Сохраните
макрос под именем «ХОРОШИСТЫ».
Подсказка:
1) Можно предварительно создать фильтр и сохранить его как запрос. А
затем использовать в аргументах макрокоманды ОткрытьФорму.
107
2) Можно в аргументах макрокоманды ОткрытьФорму в строке
Условие отбора построить нужное условие.
Задание:
Создание макроса для вывода на экран элемента в форме и использование
условий.
Пусть в форме УСПЕВАЕМОСТЬ при просмотре данных об оценках,
полученных студентами, если в поле ОЦЕНКА стоит 5, должен появляться
текст – Отличник!!!
1. Создайте форму в столбец по таблице УСПЕВАЕМОСТЬ.
2. В форме УСПЕВАЕМОСТЬ создайте элемент управления Надпись20
(номер может быть другой) со значением Отличник!!!
3. Создайте макрос, в который включите столбец Условие. Столбец
Условие вызывается в окно макроса нажатием соответствующей кнопки на
панели инструментов.
Аргументы первой макрокоманды
Элемент: [Надпись20].[Visible]
Выражение: ДА
Аргументы второй макрокоманды
Элемент: [Надпись20].[Visible]
Выражение: НЕТ
4. Сохраните макрос под именем Сигнал.
5. Для связи макроса с формой УСПЕВАЕМОСТЬ необходимо открыть
форму в режиме конструктора, на вкладке Конструктор выбрать команду
Страница свойств и в ее свойствах на вкладке События выбрать строку
108
Текущая запись, а затем
запишите имя макроса Сигнал, выбрав его из
списка.
6. Проверьте работоспособность макроса. Для этого откройте форму
УСПЕВАЕМОСТЬ и, просматривая записи, убедитесь, что если в поле
ОЦЕНКА стоит 5, то появляется надпись Отличник!!!
7. Дополните макрос выводом в форме подписи Троечник!, если в поле
ОЦЕНКА стоит 3.
Создание группы макросов
Задание:
Создать макрос для синхронной обработки данных в двух формах.
Пусть при просмотре данных о предметах, изучаемых студентами, необходимо
отображать информацию обо всех студентах, получивших двойки по предмету.
Для решения задачи используем формы Предмет-Программа и
Двоечники.
Форма Предмет-Программа позволяет просматривать список предметов,
форма Двоечники - список всех записей о двойках, полученных студентами по
различным предметам. Обе формы имеют поле НП, содержащие наименование
предмета.
При работе с формой Предмет-Программа одновременно на экране
должна открываться форма Двоечники. Причем через эту форму должны
отображаться
только
те
записи,
которые
соответствуют
выбранному
пользователем предмету в форме Предмет-Программа.
Порядок работы:
1) Создайте запрос Двоечники на основе таблиц Предмет (поле НП),
Студент (поля ФИО, НГ) и Успеваемость (поля ВИДЗ, ОЦЕНКА).
2) На основе запроса Двоечники создайте форму Двоечники, тип
ленточный.
109
3) Создадим группу макросов с именем Двоечники, включающую макрос
m1 и макрос m2. Вызвать столбец Имя макроса нужно нажатием кнопки
Имена макросов.
В аргументах макрокоманд СдвигРазмер укажите положение форм. Для
формы Предмет-Программа: По правому краю – 6 см, От верхнего края – 4
см.; для формы Двоечники, соответственно, 0 и 0 см.
Макрос
m1
открывает
форму
Двоечники
и
определяет
ее
местоположение на экране. Макрос m1 должен выполняться при открытии
формы Предмет-Программа.
Макрос m2 фильтрует записи о двоечниках по значению поля НП,
взятому из текущей записи формы Предмет-Программа. Макрос должен
выполняться при двойном нажатии пользователем кнопки мыши на поле НП,
когда пользователь работает в форме Предмет-Программа.
Когда макрос Двоечники m2 получает управление, текущей является
форма Предмет-Программа и открыта форма Двоечники. Для правильного
выполнения макрокоманды ПрименитьФильтр ссылки в аргументе Условие
отбора макрокоманды должны быть записаны следующим образом:
Forms! [Двоечники]! [НП]= Forms! [Предмет-Программа]! [НП]
Фильтрация формы Двоечники производится по полю НП, которому
присваивается значение поля НП из формы Предмет-Программа.
4) Для выполнения макросов при наступлении событий необходимо
установить в форме Предмет-Программа связь с макросами:
 связь события формы - Открытие с макросом Двоечники.m1;
 связь события элемента управления НП - Двойное нажатие кнопки
с макросом Двоечники.m2.
Напомним, что событие формы представлены в окне свойств формы, а
события элемента управления в окне его свойств, где и надо в строках нужных
событий ввести имена макросов Двоечники.m1 и Двоечники.m2.
Событие Двойное нажатие кнопки для элемента управления НП
возникает, когда пользователь дважды нажимает и быстро отпускает левую
110
кнопку мыши в тот момент, когда курсор мыши установлен на поле НП или
присоединенной к нему надписи.
5) Откройте форму Предмет-Программа и проверьте работу макроса.
111
Лабораторная работа №11
Работа с макросами: создание групп макросов, применение условий в
макросах
Цель: В форме ТЕЛЕФОНЫ ПРЕПОДАВАТЕЛЕЙ создать группу
кнопок с буквами для поиска преподавателей.
Задание:
В форме ТЕЛЕФОНЫ ПРЕПОДАВАТЕЛЕЙ создать группу кнопок с
буквами для поиска преподавателей.
Порядок работы
Создание групп макросов
1. Создайте форму ТЕЛЕФОНЫ ПРЕПОДАВАТЕЛЕЙ по таблице
ПРЕПОДАВАТЕЛИ, включите поля: ФИО, ТЕЛЕФОН (РАБ), ТЕЛЕФОН
(ДОМ), МЕСТО РАБОТЫ, ДОЛЖНОСТЬ. Вид формы – ленточная.
2. В режиме Конструктор создайте в Примечании формы элемент
управления Группа переключателей.
3. Разместите в группе 29 элементов ПЕРЕКЛЮЧАТЕЛИ с буквами (А,
Б, В, …,Я) и Переключатель ВСЕ для отображения всех записей в форме. Для
этого в режиме конструктора открыть вкладку Конструктор, в группе команд
Элементы управления выбрать кнопку Группа переключателей и растянуть
рамку в области Примечание формы. В диалоговом окне Создание группы
переключателей задайте подписи для каждого переключателя (А, Б, В, …, Я,
ВСЕ). Нажать кнопку Далее. Задать переключатель, используемый по
умолчанию – А. Нажать кнопку Далее. Задать значения для каждого
переключателя: А – 1; Б – 2; С – 3 и т.д. ВСЕ – 30. Нажать кнопку Далее.
Выбрать параметр – Сохранить значение для дальнейшего применения.
Нажать кнопку Далее. Выбрать тип элементов управления – переключатели
и Задать оформление группы – вдавленное. Нажать кнопку Далее. Ввести
112
подпись для группы переключателей – Отбор преподавателей по первой букве.
Нажать кнопку Готово.
4. Переходим к созданию макроса.
Макрос создается в диалоговом режиме. В окне макроса последовательно
записываются макрокоманды, для которых задаются параметры. Каждому
макросу присваивается
имя.
При
выполнении
макроса
макрокоманды
выполняются последовательно в порядке их расположения. При этом
используются объекты или данные, указанные в аргументах макрокоманд.
Можно определить условия выполнения макрокоманды.
Макрос будет представлять собой группу макросов с использованием
условий.
1) Создание макроса начинается в окне базы данных, где надо выбрать
вкладку Создание, в группе Макрос выбрать Макрос. После этого
открывается окно макроса. В меню появится дополнительная вкладка
Конструктор, в которой можно для создания группы макросов выбрать
команду Имя макросов.
3) Условие вводится с помощью команды Условия этой же группы
команд. Условие задается с помощью логического выражения.
Таким образом, в окне макроса в верхней части четыре столбца с
заголовками:
Имя
макроса,
Условие,
Макрокоманда,
Аргумент
и
Примечание. Внизу справа выводится краткое справочное сообщение,
зависящее от положения указателя в строке макроса.
 Для ввода макрокоманды нужно нажать кнопку раскрытия списка
макрокоманд в столбце Макрокоманда и выбрать нужную. Можно
ввести имя макрокоманды с клавиатуры.
 В
строки
столбца
Примечание
вводят
необязательный
комментарий, описывающий результат выполнения макрокоманды.
 В нижней части окна выводятся Аргументы макрокоманды.
Значения аргументов задаются путем выбора их из списка,
113
открывающегося в строке аргумента. В поле справа выводится
пояснение для выбранного аргумента.
Формирование значений аргументов макрокоманды можно осуществить
также путем перемещения объекта с помощью мыши из окна базы данных в
строку аргумента.
6. Оформите макрос, как показано на рисунке 11.1.
 Введите имя первого макроса Кнопки.
 В строке Условие введите [ОтборПреподавателей]=1,
 из списка макрокоманд выберите ПрименитьФильтр,
 в Примечании запишите Отбор преподавателей, начинающихся с
А.
 В аргументах в условии отбора задайте [Фамилия] Like "[А]*".
 Продолжите для остальных букв алфавита.
Рисунок 11.1 – Окно создания макроса
При
выполнении
условия
[RecordsetClone].[RecordCount]>0
выполняется макрокоманда КэлементуУправления; (Переход к элементу
114
«ФАМИЛИЯ» при возвращении записей для выделенной буквы). И макрос
останавливается макрокомандой ОстановитьМакрос.
Если
выполняется
условие
[RecordsetClone].[RecordCount]=0,
выполняется макрокоманда Сообщение. В Примечании записано: Если для
выбранной
буквы
нет
записей,
выводится
сообщение.
Аргументы
макрокоманды Сообщение.
Сообщение - Не найдены записи, соответствующие выбранной букве
Сигнал - Да
Тип - Информационное
Заголовок - Отсутствие записей
После этого выполняется макрокоманда ПоказатьВсеЗаписи, для
отображения всех записей. Следующей макрокомандой ЗадатьЗначение
нажимается кнопка Все. Аргументы макрокоманды ЗадатьЗначение:
Элемент - [ОтборПреподавателей]
Выражение - 30
7. Сохраните макрос под именем Телефоны преподавателей.
8. Откройте свойства группы ОтборПреподавателей, подключите
макрос: Вкладка - События, Свойство После обновления: Макрос Телефоны
преподавателей. Вкладка Данные - Свойство Значение по умолчанию: 30.
9. Проверьте работу макроса. Откройте форму в режиме просмотра и,
нажимая кнопки следите за отображением записей.
10. Преобразуйте созданный макрос в модуль Visual Basic
Сохранить как, введите имя макроса и выберите - как модуль.
Откройте этот модуль и познакомьтесь с его организацией (Приложение
4).
Создание процедуры обработки события
В некоторой форме необходимо создать кнопку для получения справок о
студентах или преподавателях
1. Откроем форму в режиме конструктора и создадим кнопку, нажав на
панели инструментов инструмент Кнопка в группе команд Элементы
115
управления и, не привлекая мастера, изменим подпись кнопки на Справки
о….
Для этого откроем контекстно-зависимое меню кнопки, выберем
Свойства и на закладке Макет изменим значение в строке Подпись. Изменим
на закладке Другие имя кнопки на Справка.
Под этим именем кнопку будет проще находить в списке элементов
формы.
2. Для открытия процедуры обработки события Нажатие кнопки
выберите в контекстно-зависимом меню команду Обработка событий.
3. Введите текст процедуры в окно модуля.
Процедура обработки события Нажатие кнопки (Click):
Private Sub Справка_Сlick()
Dim Имя_формы As String
Dim Фамилия_И_О As String
Имя_формы = InputBox _
("Выбери справку: Студент или Преподаватель", _
"Диалоговое окно InputBox", "Введи сюда имя справки")
'Функция InputBox организует диалог с пользователем
MsgBox " Справка будет выдана в Форме " & Имя_формы & _
" В следующем окне фамилию вводи так Петров В. А.", 65, _
"Сообщение"
'Функция MsgBox выводит на экран сообщение и кнопки
If Имя_формы = "Студент" Then
DoCmd.OpenForm Имя_формы, , , "ФИО=Фамилия_И_0", acReadOnly
'Встроенная константа acReadOnlu определяет режим данных
Exit Sub
End If
DoCmd.OpenForm Имя_формы, , , " Фамилия =Фамилия_И_О ",
acReadOnly
End Sub
116
Литература
Основная литература
1.
Золотова С.И. Практикум по Access: Подготовительный курс,
предваряющий
более
глубокое
изучение
технологии
баз
данных
/
С.И.Золотова.- М.: Финансы и статистика, 2005.- 143 с. ( Диалог с
компьютером).
2.
студентов
Избачков, Ю.С. Информационные системы: Учеб. пособие для
вузов:
Допущено
М-вом
образования
РФ
/Ю.С.Избачков,
В.Н.Петров.- 2-е изд.- СПб.: Питер, 2006 .- 655 с.- (Учебное пособие).
3.
Илюшечкин В.М. Основы использования и проектирования баз
данных: учеб. пособие для студентов вузов: допущено УМО
вузов по
университет. политех. образованию / В.М.Илюшечкин.- М.: Юрайт, 2011.- 213
с.
Дополнительная литература
1.
Граждан В.Д. Социология управления: Учебник/ В.Д.Граждан. – 3-е
изд., перераб.и доп. – М. : Юрайт, 2011. -604 с.
2.
Информационные системы и технологии управления: Электронный
учебник / Под ред. Г.А.Титоренко.- 3-е изд., перераб. и доп.- М,: ЮНИТИДАНА, 2011.- 1 CD
3.
Мельников В.П. Информационные технологии: учеб. для студентов
вузов: Допущено УМО по политех. образованию / В.П.Мельников.- 2-е
изд.,стереотип.- М.: Академия, 2009.- 432 с.- (Высшее профессиональное
образование).
4.
Сидоркина И.Г. Системы искусственного интеллекта: учеб. пособие
для студентов вузов: Допущено УМО вузов по университет. политех.
образованию / И.Г.Сидоркина.- М.: КноРус, 2011.- 248 с.
5.
Советов Б.Я. Базы данных. Теория и практика: Учеб. для студентов
вузов: Рек. УМО вузов по университет. политех. Образованию / Б.Я.Советов,
В.В.Цехановский, В.Д.Чертовский.- 2-е изд., стереотип.- М.: Высш. шк., 2007.463 с.
117
6.
Советов Б.Я. Моделирование систем: Учеб. для студентов вузов:
Рек. М-вом образования и науки / Б.Я.Советом, С.А.Яковслев.- 5-е изд.,
стереотип.- М.: Высш. шк., 2007.- 342 с.
7.
Хореев
П.Б.
Методы
и
средства
защиты
информации
в
компьютерных системах: Учеб. пособие для студентов вузов: Рек. УМО вузов
по университет. политех. образованию / П.Б.Хорев.- 3-е изд., стереотип.- М.:
Академия, 2007.- 255 с.-(Высшее профессиональное образование).
8.
Емельянова Н.З. Защита информации в персональном компьютере:
учеб. пособие для студентов: рек. Учеб.-метод. советом Учеб.-метод. центра по
проф. образованию / Н.З.Емельянова, Т.Л.Партыка, И.И.Попов.- М.: ФОРУМ,
2011.- 368 с.
9.
Балдин К.В. Информационные системы в экономике: Учеб. для
студентов вузов: Рек. УМО по образованию в области прикладной
информатики / К.В.Балдин, В.Б.Уткин.- 4-е изд..- М.: Дашков и К, 2007.- 394 с.
10.
Коробко В.И. Теория управления – М.: ЮНИТИ-ДАНА, 2011. –
CD-ROM
11.
Кузин А.В. Базы данных: Учеб. пособие для студентов вузов:
Допущено учебно-метод. объединением вузов по университет. политех.
образованию / А.В.Кузин, С.В.Левонисова.-4-е изд., стереотип.- М.: Академия,
2010.- 320 с.-(Высшее профессиональное образование).
12.
Кузовкин А.В. Управление данными: учеб.для студентов вузов:
Допущено УМО вузов по университет. политех. образованию / А.В.кузовкин,
А.А.Цыганов. Б.А.щукин.- М.: Академия, 2010.
13.
Основы обработки реляционных баз данных средствами СУБД
Microsoft Access: Практикум по информатике / Нижегор. гос. пед. ун-т; авт.сост. И.В.Панова; рецензент Э.Г.Козловская; отв. ред. М.А.Иорданский.Н.Новгород: НГПУ, 2009.- 25 с.
118
Приложение 1
Структура таблиц базы данных
Описание свойств полей таблицы СТУДЕНТ
Описание свойств полей таблицы ГРУППА
Описание свойств полей таблицы ПРЕПОДАВАТЕЛЬ
119
Описание свойств полей таблицы КАФЕДРА
Описание свойств полей таблицы ПРЕДМЕТ
Описание свойств полей таблицы ИЗУЧЕНИЕ
120
Описание свойств полей таблицы УСПЕВАЕМОСТЬ
121
Приложение 2
Схема данных БД «Учебный процесс»
122
Приложение 3
Содержание таблиц БД «Учебный процесс»
Таблица ГРУППА
Таблица СТУДЕНТ
Таблица КАФЕДРА
123
Таблица ПРЕПОДАВАТЕЛЬ
Таблица ПРЕДМЕТ
Таблица ИЗУЧЕНИЕ
Таблица УСПЕВАЕМОСТЬ
124
Приложение 4
Организация модуля на языке модуль Visual Basic
Option Compare Database
Option Explicit
'-----------------------------------------------------------' Телефоны_преподавателей_Кнопки
'
'-----------------------------------------------------------Function Телефоны_преподавателей_Кнопки()
On Error GoTo Телефоны_преподавателей_Кнопки_Err
With CodeContextObject
' Связан с формой "Телефоны Преподавателей".
' Связан с событием "После обновления" (AfterUpdate) для группы
переключателей
"ОтборПреподавателей".
If (.ОтборПреподавателей = 1) Then
' Отбор преподавателей, начинающихся с А.
DoCmd.ApplyFilter "", "[Фамилия] Like ""[А]*"""
End If
If (.ОтборПреподавателей = 2) Then
'Б
DoCmd.ApplyFilter "", "[Фамилия] Like ""Б*"""
End If
If (.ОтборПреподавателей = 3) Then
'В
DoCmd.ApplyFilter "", "[Фамилия] Like ""В*"""
End If
If (.ОтборПреподавателей = 4) Then
125
'Г
DoCmd.ApplyFilter "", "[Фамилия] Like ""Г*"""
End If
If (.ОтборПреподавателей = 5) Then
'Д
DoCmd.ApplyFilter "", "[Фамилия] Like ""[Д]*"""
End If
If (.ОтборПреподавателей = 6) Then
'Е
If (.ОтборПреподавателей = 22) Then
'Х
DoCmd.ApplyFilter "", "[Фамилия] Like ""[Х]*"""
End If
If (.ОтборПреподавателей = 23) Then
'Ц
DoCmd.ApplyFilter "", "[Фамилия] Like ""Ц*"""
End If
If (.ОтборПреподавателей = 24) Then
'Ч
DoCmd.ApplyFilter "", "[Фамилия] Like ""Ч*"""
End If
If (.ОтборПреподавателей = 25) Then
'Ш
DoCmd.ApplyFilter "", "[Фамилия] Like ""Ш*"""
End If
If (.ОтборПреподавателей = 26) Then
'Щ
DoCmd.ApplyFilter "", "[Фамилия] Like ""[Щ]*"""
End If
If (.ОтборПреподавателей = 27) Then
126
'Э
DoCmd.ApplyFilter "", "[Фамилия] Like ""[Э]*"""
End If
If (.ОтборПреподавателей = 28) Then
'Ю
DoCmd.ApplyFilter "", "[Фамилия] Like ""[Ю]*"""
End If
If (.ОтборПреподавателей = 29) Then
'Я
DoCmd.ApplyFilter "", "[Фамилия] Like ""[Я]*"""
End If
If (.ОтборПреподавателей = 30) Then
' Отображение всех записей.
DoCmd.ShowAllRecords
End If
If (.RecordsetClone.RecordCount > 0) Then
' Переход к элементу "фАМИЛИЯ" при возвращении записей для
выделенной буквы.
DoCmd.GoToControl "Название"
' Остановка макроса.
Exit Function
End If
If (.RecordsetClone.RecordCount = 0) Then
' Если для выбранной буквы нет записей, выводится сообщение.
Beep
MsgBox "Не найдены записи, соответствующие выбранной букве.",
vbInformation, "Отсутствие записей"
' Отображение всех записей.
DoCmd.ShowAllRecords
' Нажимается кнопка "Все"
127
.ОтборПреподавателей = 30
End If
End With
Телефоны_преподавателей_Кнопки_Exit:
Exit Function
Телефоны_преподавателей_Кнопки_Err:
MsgBox Error$
Resume Телефоны_преподавателей_Кнопки_Exit
End Function
'-----------------------------------------------------------' Телефоны_преподавателей_Печать
'
'-----------------------------------------------------------Function Телефоны_преподавателей_Печать()
On Error GoTo Телефоны_преподавателей_Печать_Err
'
Макрос,
запускаемый
с
помощью
макроса
Autokeys.^p" при нажатии Ctrl+P.
' Печать отображаемых в данный момент записей.
DoCmd.PrintOut acPrintAll, , , acHigh, 1, True
Телефоны_преподавателей_Печать_Exit:
Exit Function
Телефоны_преподавателей_Печать_Err:
MsgBox Error$
Resume Телефоны_преподавателей_Печать_Exit
End Function
128
"Пример
макроса
Оглавление
Введение ...................................................................................................................................................... 3
Лабораторная работа № 1 Знакомство с СУБД ACCESS ................................................ 8
Лабораторная работа № 2 Приведение таблицы к 3-й нормальной форме .......... 35
Лабораторная работа № 3 Создание базы данных «Учебный процесс» ................. 42
Лабораторная работа № 4 Разработка однотабличных форм
...................................... 52
Лабораторная работа № 5 Специальные элементы управления .......................... 60
Лабораторная работа № 6 Разработка многотабличных форм ............................ 68
Лабораторная работа № 7 Работа с данными при помощи Запроса .................... 78
Лабораторная работа № 8 Создание отчетов.......................................................... 87
Лабораторная работа № 9 Создание панели управления приложения ................ 96
Лабораторная работа № 10 Создание макросов ................................................... 102
Лабораторная работа №11 Работа с макросами: создание групп макросов,
применение условий в макросах ............................................................................ 112
Литература ............................................................................................................... 117
Приложение 1 .......................................................................................................... 119
Приложение 2 .......................................................................................................... 122
Приложение 3 .......................................................................................................... 123
Приложение 4 .......................................................................................................... 125
129
Download