Запрос с группировкой
Создадим в Конструкторе запрос с группировкой для подсчета количества студентов в группах. Включим в запрос таблицы «Группы» и «Студенты». Из них выберем два поля «Группа» и «№Зачетки». Далее надо показать в запросе строку Групповая операция, которая обычно скрыта. Для этого можно в меню Конструктор нажать кнопку Итоги. В строке Групповая операция для поля «Группа» задать функцию Группировка, а для поля «№Зачетки» - функцию Count, что обозначает количество. Таким способом можно производить группировку и подсчет количества записей в запросах (рис. 9.1).
Рисунок 9.1. Запрос с группировкой.
Выполните запрос. Результат на рис. 9.2.
Рисунок 9.2. Результат выполнения запроса с группировкой.
Запрос с условием отбора по полю с типом данных Дата
Создадим запрос с условием отбора студентов, родившихся в некоем промежутке дат (рис. 9.3).
Рисунок 9.3. Запрос с условием отбора по полю с типом данных Дата.
В условии отбора для поля «Рожден» записано выражение:
>=#01.01.1995# And <=#01.01.1997#
Обратите внимание, что даты взяты в символы #.
Запрос с вычисляемым полем
Создадим в Конструкторе запрос с вычисляемым полем, в котором отображается Фамилия и инициалы (рис. 9.4).
Рисунок 9.4. Запрос с вычисляемым полем.
Добавим в запрос таблицу «Студенты». В поле введем выражение: ФИО: [Студенты]![Фамилия] & " " & Left([Студенты]![Имя];1)
Поясним, что обозначает это выражение.
ФИО - это название вычисляемого поля, оно заканчивается двоеточием. [Студенты]![Фамилия] - это поле Фамилия из таблицы Студенты. & - это символ конкатенации, он объединяет текстовые строки. " " - это пробел в двойных кавычках. Left([Студенты]![Имя];1) - это встроенная функция Left.
У функции два аргумента: первый – поле Имя из таблицы Студенты, второй – число 1, которое указывает, сколько символов взять из имени, считая слева. То есть эта функция вернет нам первую букву имени.
Построитель выражений
Для записи таких выражений лучше всего использовать Построитель выражений. Для вызова Построителя можно щелкнуть правой кнопкой мыши по вычисляемому полю в запросе и выполнить команду Построить. Появится окно Построитель выражений (рис. 9.5).
Рисунок 9.5. Построитель выражений.
Раскройте таблицы по знаку плюс, выберите таблицу «Студенты», выберите поле «Фамилия» и нажмите кнопку «Вставить» (рис. 9.6).
Рисунок 9.6. Построение выражения [Студенты]![Фамилия].
Введите знак конкатенации &, нажав соответствующую кнопку на панели инструментов Построителя выражений, затем введите вручную пробел в двойных кавычках “ “, введите ещё один знак & (рис. 9.7).
Рисунок 9.7. Панель инструментов Построителя выражений. Добавление пробела &” “&
Выберите «Встроенные функции», затем категорию «Текстовые», затем функцию Left. Нажмите кнопку «Вставить» (рис. 9.8).
Рисунок 9.8. Вставка функции Left в Построителе выражений.
У функции Left заменим первый аргумент «stringexpr» на выражение [Студенты]![Имя], для этого выделим первый аргумент, затем выберем таблицу «Студенты, выберем поле «Имя» и нажмем кнопку «Вставить» (рис. 9.9).
Рисунок 9.9. Замена первого аргумента функции Left на выражение [Студенты]![Имя].
Вручную удалите текст «Выражение», а вместо второго аргумента «n» введите цифру 1. Окончательный вид построенного выражения на рис. 9.10.
Рисунок 9.10. Окончательный вид построенного выражения в Построителе выражений.
Нажмите кнопку ОК. Построенное выражение появится в вычисляемом поле в виде:
Выражение1: [Студенты]![Фамилия] & " " & Left([Студенты]![Имя];1)
Остается только заменить текст «Выражение1» на «ФИО». Запрос с вычисляемым полем построен. Проверьте его в работе.
Вопросы по теме «Вычисления в запросах»
1. Что такое условие отбора для поля? Выражение в условии отбора. Условия отбора с логическими операторами And и Or?
2. Что такое вычисляемое поле в запросе?
3. Что такое выражение?
4. Что такое Построитель выражений? Как им пользоваться?
5. Как провести сортировку записей в запросе?
6. Как провести группировку записей в запросе и подсчитать количество записей?
ФОРМЫ
Формы предназначены для удобной работы с базой данных. Формы можно подразделить на формы ввода, изменения и просмотра данных и формы управляющие. Формы создаются на основе таблиц и запросов. В меню Создание представлены различные способы создания форм. Рассмотрим создание форм с помощью Мастера форм и с помощью Конструктора.
Форма «Студенты»
С помощью Мастера на основе таблицы Студенты создайте форму для ввода персональных данных о студенте. Отформатируйте форму по своему вкусу. Добавьте в форму фото. Дайте форме имя «Студенты» (рис. 10.1).
Рисунок 10.. Форма «Студенты».
Форма «Успеваемость»
Создадим форму для учета успеваемости студентов. С помощью Мастера форм создадим форму с подчиненными формами на основе трех таблиц: "Группы", "Студенты", "Успеваемость", выбирая из этих таблиц необходимые поля (рис. 10.2). Дайте форме имя «Успеваемость».
Рисунок 10.2. Форма «Успеваемость».
Обратите внимание, что будет создано три формы: одна главная и две подчиненных, а отображаться будет объединенная форма. Отформатируйте её вначале в режиме макета, а затем в режиме конструктора.
Опробуйте работу с формой: просмотрите информацию по группе, по студенту, добавьте новую группу, нового студента, добавьте данные о своей успеваемости.
Элементы управления в форме
В форму можно вставлять элементы управления для удобства работы. На рисунке 10.2 в форме «Успеваемость» есть кнопка "Персональные данные студентов". Она создана для перехода в форму «Студенты». Создадим и мы такую кнопку.
Откройте форму «Успеваемость» в Конструкторе. Проверьте, что в меню Конструктор нажата кнопка "Использовать мастера", она поможет нам в создании кнопки (рис. 10.3).
Рисунок 10.3. Элементы управления в меню Конструктор.
Нажмите элемент Кнопка и проведите мышкой там, где планируете создать кнопку. Откроется Мастер создания кнопок, которому надо указать, что мы хотим открыть форму «Студенты». Форма «Успеваемость» в Конструкторе представлена на рис. 10.4.
Рисунок 10.4. Форма «Успеваемость» в Конструкторе.
Обратите внимание на структуру формы в режиме конструктора. Форма состоит из разделов: Заголовок и Примечание формы, Колонтитулы страницы, Область данных. В разделах Заголовок и Примечание формы отображается общая информация для всей формы, в колонтитулах страницы отображается информация для страницы (если форма состоит из страниц), в разделе Область данных отображаются собственно данные.
Перейдите в режим формы и опробуйте кнопку "Персональные данные студентов".
Вопросы по теме «Формы»
1. Что такое форма ввода-вывода? Для чего используются формы? Преимущества использования форм по сравнению с таблицами?
2. Способы создания форм: Мастер форм, Конструктор форм?
3. Режимы работы с формами: Режим формы, Режим макета, Режим Конструктор?
4. Разделы формы: Заголовок и примечание, Колонтитулы, Область данных.
5. Элементы управления в форме.
6. Страница свойств формы и её элементов. Свойство Источник записей формы?
7. Список полей формы?
8. Что такое подчиненная форма?
ОТЧЕТЫ
Отчеты – объекты базы данных, предназначенные для создания печатных документов. Отчеты создаются на основе таблиц и запросов. Основными способами создания отчетов являются Мастер отчетов и Конструктор отчетов. Основными режимами просмотра отчета являются: Преставление отчета, Режим макета, Конструктор, Предварительный просмотр.
Отчет Студенты
С помощью Мастера отчетов создайте отчет на основе таблицы "Студенты", включив в отчет поля №зачетки, Фамилия, Имя, Отчество, Группа. Добавьте уровень группировки по полю «Группа». Задайте сортировку по фамилии, имени, отчеству. Отчет будет примерно как на рис. 11.1.
Рисунок 11.1. Отчет «Студенты», сделанный с помощью мастера.
Наша задача – преобразовать отчет, чтобы была нумерация студентов внутри групп, было подсчитано количество студентов в группах и всего. Отчет в режиме просмотра должен выглядеть примерно как на рис. 11.2.
Рисунок 11.2. Отчет «Студенты» в режиме просмотра.
Форматирование отчета «Студенты» в режиме макета
Откройте отчет «Студенты» в режиме макета. В меню Формат нажмите кнопку Группировка. Внизу макета отчета появится раздел Группировка, сортировка и итоги (рис. 11.3).
Рисунок 11.3. Отчет «Студенты» в режиме макета. Группировка, сортировка и итоги.
Сгруппируйте записи по группам студентов, подсчитайте количество студентов по группам, подсчитайте общее количество студентов, отсортируйте записи по фамилии, имени, отчеству.
Форматирование отчета «Студенты» в Конструкторе
Откройте отчет Студенты в режиме конструктора (рис. 11.4).
Рисунок 11.4. Отчет «Студенты» в Конструкторе.
Пронумеруем студентов внутри групп. Для этого слева от №зачетки освободите место, передвинув всю строку вправо и увеличив высоту раздела Область данных, и вставьте в туда свободное поле, а надпись к свободному полю удалите.
Выделите свободное поле, затем откройте Страницу свойств свободного поля и на вкладке Данные укажите (рис. 11.5): Данные =1; Сумма с накоплением Для группы.
Рисунок 11.5. Страница свойств поля, вкладка Данные.
Результат форматирования должен выглядеть примерно как на рис. 11.6.
Рисунок 11.6. Отчет «Студенты» в Конструкторе с нумерацией студентов внутри групп.
Отчет «Успеваемость»
С помощью Мастера отчетов на основе таблиц "Студенты" и "Успеваемость" создайте отчет "Успеваемость студентов" примерно как на рис. 11.7.
Рисунок 11.7. Отчет «Успеваемость студентов».
Отформатируйте отчет в режиме макета:
1) Задайте группировку по Группе, №зачетки, Семестру, Форме контроля.
2) Задайте сортировку по Дисциплине.
Вопросы по теме «Отчеты»
1. Что такое отчет? Способы создания отчетов: Мастер отчетов, Конструктор отчетов.
2. Режимы работы с отчетом: Представление отчета, Предварительный просмотр, Режим макета, Конструктор.
3. Разделы отчета: Заголовок, Примечание, Заголовок группы, Примечание группы, Верхний колонтитул, Нижний колонтитул, Область данных.
4. Что такое свободное поле и вычисляемое поле в отчете? Для чего используются?
5. Как пронумеровать страницы отчета?
6. Как сортировать записи в отчете?
7. Как сгруппировать записи в отчете? Как сделать несколько уровней группировки записей в отчете?
8. Как пронумеровать записи в отчете? Как пронумеровать записи внутри группы в отчете?
9. Как подсчитать количество записей в отчете? Как подсчитать количество записей внутри группы в отчете? В каком разделе отчета следует поместить вычисляемое поле для подсчёта количества записей в группе?
10. Что делать если появляется предупреждение, что некоторые данные в отчете могут не выводиться?
11. Какие элементы управления могут быть добавлены в отчет? Как отличить элемент Надпись от элемента Поле в макете отчёта?
Управляющая форма
Наша задача – быстро и удобно получить список студентов выбранной группы.
Запрос «Студенты группы»
Чтобы сформировать список студентов создайте запрос на основе таблицы "Студенты". Включите в запрос следующие поля: Группа, №зачетки, Фамилия, Имя, Отчество. Дайте запросу имя "Студенты группы" (рис. 12.1).
Рисунок 12.1. Запрос «Студенты группы» в Конструкторе.
Этот запрос покажет нам студентов всех групп. Чтобы выбрать студентов определенной группы, надо задать условие отбора по полю «Группа». Можно сделать запрос с параметром, например, записать в условии отбора по полю «Группа» выражение [Введите код группы]. Но это не очень удобно, надо помнить код группы и правильно его ввести. Удобнее сделать управляющую форму, в которой создать поле со списком, которое поможет нам выбрать код группы из таблицы «Группы». Этот код группы надо будет подставить в условие отбора. Покажем, как это можно сделать.
Форма «Управляющая»
С помощью Конструктора форм создайте свободную (пустую) форму. Сохраните её, дав её имя "Управляющая". В управляющей форме создайте поле со списком, которое будет использовать значения из поля «Группа» таблицы «Группы», а также создайте кнопку для открытия запроса "Студенты группы" (рис. 12.2).
Рисунок 12.2. Форма «Управляющая». Поле со списком «Группа». Кнопка «Студенты группы».
Выделите поле со списком и на странице свойств дайте ему имя "Выберите группу" (рис. 12.3).
Рисунок 12.3. Задание имени полю со списком.
Организация связи управляющей формы с запросом «Студенты группы»
В запросе "Студенты группы" в условии отбора для поля "Группа" (рис.12.4) с помощью Построителя выражений создайте ссылку на поле со списком "Выберите группу" из формы "Управляющая":
=[Forms]![Управляющая]![Выберите группу]
Рисунок 12.4. Организация связи формы «Управляющая» с запросом «Студенты группы».
Проверьте работу управляющей формы. Для этого откройте форму «Управляющая», выберите какую-либо группу с помощью поля со списком «Группа», нажмите кнопку «Студенты группы». Откроется запрос со списком студентов выбранной группы.
Самостоятельная работа
Попробуйте создать управляющую форму, которая бы была единым центром доступа ко всем объектам базы данных по учету успеваемости студентов. Примером может послужить следующая управляющая форма (рис. 12.5).
Рисунок 12.5. Пример управляющей формы базы данных «Успеваемость студентов».
Вопросы по теме Управляющая форма
1. Что такое управляющая форма? Преимущества использования управляющих форм?
2. Что такое свободная форма? Что такое свойство Источник записей формы?
3. Что такое элемент управления? Какие элементы можно поместить в форму?
4. Элементы управления: Надпись, Кнопка, Поле, Поле со списком. Их назначение? Что такое присоединенное поле и свободное поле, в чем их отличие? Можно ли использовать свободное поле для вычислений?
5. Кнопка Использовать мастера? Для чего используется?
6. Что такое страница свойств? Свойства элементов управления: свойство Имя, свойство Данные.
7. Разделы формы: Заголовок и примечание формы, Колонтитулы, Область данных.
8. Список полей формы?
9. Как организовать связь управляющей формы с запросом?
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Системы управления базами данных. Назначение, возможности.
2. Базы данных. Назначение. Преимущества.
3. Понятие реляционной базы данных. Её преимущества.
4. Основные этапы проектирования баз данных.
5. Объекты базы данных, их назначение и взаимосвязь.
6. Таблица. Её структурные элементы. Способы создания и работы с ней.
7. Поле таблицы. Типы данных поля. Свойства поля.
8. Понятие ключевого поля.
9. Поле со списком в таблице. Свойства поля со списком.
10. Запись в таблице. Сортировка и фильтрация записей в таблице.
11. Схема данных. Нарисуйте схему данных и поясните, что на ней изображено.
12. Первичный и внешний ключ. Правила целостности для связанных полей
13. Связи между таблицами. Типы связей.
14. Главная и подчиненная таблицы. Очередность их заполнения
15. Целостность данных. Преимущества целостной базы данных.
16. Запрос. Типы запросов. Конструирование запроса.
17. Сортировка и отбор записей в запросе. Построитель выражений.
18. Вычисления в запросе. Вычисляемые поля в запросе. Построитель выражений.
19. Условия отбора в запросе. Формирование запросов с операциями AND и OR.
20. Сортировка и группировка записей в запросе.
21. Форма. Назначение. Структура формы. Способы создания. Работа с формой.
22. Элементы управления, используемые в форме. Построитель выражений.
23. Отчет. Структура отчета. Способы создания и форматирования.
24. Нумерация записей в отчете.
25. Группировка и сортировка записей в отчете.
26. Элементы управления, используемые в отчете. Построитель выражений.
27. Управляющая форма. Назначение. Свойство Источник записей формы.
28. Элементы управления, используемые в управляющей форме. Построитель выражений.
29. Защита информации в базе данных.
КОНТРОЛЬНЫЕ ЗАДАНИЯ
Задание 01
Создать базу данных "Расписание занятий". Календарь на семестр. Расписание пар. Аудитории. Группы студентов. Учебные дисциплины и количество аудиторных часов в семестре. Преподаватели. Подсчитать количество часов для групп по дисциплинам, для преподавателей по дисциплинам, для аудиторий. Показать расписание для группы, для преподавателя, для аудитории.
Задание 02
Создать базу данных "Абитуриенты" Учет абитуриентов, поступающих в университет из разных населенных пунктов на выбранные специальности. Известен средний школьный балл каждого абитуриента. Справки о количестве абитуриентов из разных населенных пунктов, количестве абитуриентов, выбравших ту или иную специальность. Справки о количестве абитуриентов - отличников, хорошистов, троечников. Отчет околичественном составе абитуриентов. Списки абитуриентов, выбравших ту или иную специальность. Поздравление абитуриента с днем рождения.
Задание 03
Создать базу данных "Телефонная книга" Университет состоит из нескольких факультетов, на каждом факультете несколько групп. В каждой группе несколько студентов. У студентов известны домашние адреса, номера телефонов. Выдать отчет Телефонная книга студентов. По фамилии студента определить его номер телефона и адрес. По номеру телефона определить фамилию и адрес студента. По запросу методиста представить список студентов выбранной группы, список студентов из выбранного населенного пункта (с телефонами и адресами).
Задание 04
Создать базу данных "Учебные планы" Список дисциплин. Список специальностей. Список семестров. Количество часов (всего, лекции, практикум, самработа) на дисциплину в семестре. Формы контроля (зачет, дифзачет, экзамен). Учебный план по специальностям на все семестры.
Задание 05
Создать базу данных "Сотрудники". Университет состоит из нескольких отделов. Имеется список сотрудников университета. Известен уровень образования сотрудников. Известны даты рождения, адреса и телефоны сотрудников. Справки и отчеты о количестве сотрудников в целом по университету, в каждом отделе, а также количество сотрудников с высшим или средним образованием. По запросу представить список сотрудников выбранного отдела, список сотрудников из выбранного населенного пункта (с телефонами и адресами). Конкретному сотруднику выдать отчет-поздравление с днем рождения.
Задание 06
Создать базу данных "Выпускники". Университет готовит студентов по нескольким специальностям. Имеется список выпускников. Институт поддерживает связи со своими выпускниками, которые сообщают о месте и характере своей работы. Справки и отчеты о количестве выпускников всего по институту, а также трудоустроенных и безработных. Узнать, какие специальности наиболее востребованы на рынке труда.
Задание 07
Создать базу данных "Преподаватели". Список кафедр университета. Список преподавателей университета, каждый преподаватель входит в состав какой-либо кафедры. Список преподаваемых учебных дисциплин. Каждый преподаватель может вести преподавание по нескольким дисциплинам. Одну и ту же дисциплину могут преподавать несколько преподавателей. Преподаватель может иметь или не иметь ученую степень (кандидат наук, доктор наук). Подсчитать общее количество преподавателей, количество преподавателей по учебным дисциплинам, количество преподавателей с учеными степенями. Представить список учебных дисциплин, по которым в институте нет преподавателей. Представить список преподавателей, ведущих ту или иную дисциплину. Представить список преподавателей с учеными степенями. Представить список кафедр, список и количество преподавателей кафедры.
Задание 08
Создать базу данных "Библиотека". Библиотека ведет пополнение и учет библиотечного фонда, а также выдачу книг читателям. Книги распределены по рубрикам (экономика, юриспруденция, психология, информатика и т.д.). Учет книг. Учет читателей. Учет выдачи книг читателям. Подсчитать общее количество книг всего в библиотеке и по каждой рубрике. По заявке читателя узнать имеется ли книга в наличии или у кого она на руках. По заявке читателя получить список книг по данной рубрике, определенного автора, издательства или года выпуска. По запросу библиотекаря узнать какие книги числятся за читателем.
Задание 09
Создать базу данных "Издательский отдел". Издательский отдел издает учебные материалы преподавателей университета. Ведется список преподавателей института, список кафедр института. Каждый преподаватель входит в состав какой-либо кафедры. Ведется перечень изданных учебных материалов с указанием названия, авторов, года издания, количества страниц. Учебные материалы подразделяются по типам (учебники, учебные пособия, конспекты лекций, практикумы и т.д.) и по учебным дисциплинам (математика, информатика, социология и т.д.). Учет авторов, кафедр, изданий. Перечень изданий, сгруппированный по кафедрам и учебным дисциплинам. Количество изданий кафедр и института за год, за последние 5 лет. Перечень и количество изданий по типам учебных материалов за определенный период. Перечень и количество изданий автора за определенный период.
Задание 10
Создать базу данных "Информационный отдел". Информационный отдел накапливает и хранит электронные учебные материалы (издания) преподавателей университета. Ведется список преподавателей, список кафедр университета. Каждый преподаватель входит в состав какой-либо кафедры. Ведется перечень электронных учебных материалов с указанием названия, авторов, года издания. Электронные учебные материалы подразделяются по типам (учебники, практикумы, тесты и т.д.), по учебным дисциплинам (математика, информатика, социология и т.д.). Учет авторов, изданий. Перечень изданий, сгруппированный по кафедрам и учебным дисциплинам. Количество изданий кафедр и университета, за год, за последние 5 лет. Перечень и количество изданий по типам учебных материалов за определенный период. Перечень и количество изданий автора за определенный период.
ЗАКЛЮЧЕНИЕ
Практикум Access дает базовые знания и навыки разработки учебной базы данных на примере хорошо знакомой студенту предметной области, связанной с учебным процессом. Решена сквозная задача разработки базы данных учета успеваемости студентов. В практикуме не освещены вопросы создания макросов и модулей. Желающие углубить свои знания в области баз данных могут обратиться к учебным ресурсам, часть из которых представлена ниже.
СПИСОК ЛИТЕРАТУРЫ
1. Скачать пробную 60-дневную полнофункциональную версию MS Office 2013 (с Access)
2. Учебный курс MS Access 2013 от Microsoft (видео)
3. Основные сведения о создании баз данных. Справка Access 2007.
4. Видеоуроки Microsoft Access 2012.
5. Базы данных. С.Д. Кузнецов. Академия, Серия: Университетский учебник, 2012 г.
6. Кошелев В.Е. Access 2007. – М.: ООО «Бином-Пресс», 2008 г. – 592 с.
7. Геннадий Гурвиц. Microsoft Access 2010. Разработка приложений на реальном примере. BHV, 2010. – 462 с.
8. Введение в системы баз данных, 8-е издание. Дейт К. Д.: Пер. с англ. — М.: Издательский дом "Вильямс", 2005.
9. Основы баз данных. Илья Тетерин. Видеолекции. 2012.
10. Нереляционные базы данных. К.Ю. Поляков. Журнал "Информатика" №6 2013.
11. Базы данных. Учебное пособие. Кабанов В.А. Сергиев Посад 2005.
12. Практикум Access 2003. Кабанов В.А. Сергиев Посад 2006
13. Мастер-самоучитель Microsoft Access 2002, В. Михеева и др., Alex Soft, М., 2002
Дата: 2019-03-05, просмотров: 1362.