- •Академия социального управления
- •Часть 2. Практикум
- •Аннотация
- •Ваша новая задача при изучении Access
- •Теория: Проектирование структуры базы данных – первый этап
- •Теория: Конструирование пустых таблиц базы данных – второй этап
- •Создание файла Вашей Базы Данных
- •Создание таблицы «Слушатели» в режиме «Конструктор»
- •Создание таблицы «Специализации» в режиме «Конструктор»
- •Создание таблицы «Преподаватели» в режиме «Мастер таблиц»
- •Создание таблицы «Группы» в режиме «Конструктор»
- •Теория: Создание схемы базы данных – третий этап создания бд
- •Установление связей между таблицами Вашей бд
- •Удаление связи между таблицами
- •Теория: Заполнение пустых таблиц – четвёртый этап создания базы данных
- •Ввод данных непосредственно в таблицу «Специализации»
- •Теория: Использование подстановок в таблицах
- •Определение подстановки для поля «ЗаявСпециал» таблицы «Слушатели»
- •Определение подстановки для поля «Смена» таблицы «Слушатели»
- •Определение подстановок для полей таблиц «Преподаватели» и «Группы»
- •Ввод данных в таблицы «Преподаватели» и «Группы» с использованием подстановок
- •Определение подстановки для поля «Группа» таблицы «Слушатели» с использованием построителя sql-запроса.
- •Ввод данных в таблицу «Слушатели» путём копирования этих данных из таблицы Excel
- •Теория: Получение информации из базы данных при помощи запросов. Простые запросы
- •Формирование простейшего запроса в режиме Конструктора
- •Создание Запроса «СпискиГрупп». Использование фильтра при выполнении запроса
- •Теория: Параметрические запросы
- •Формирование параметрического запроса
- •Формирование параметрического запроса «Справка»
- •Создание параметрического Запроса для расчёта учебной нагрузки преподавателей за месяц
- •Создание Запроса «Учебная_Нагрузка_Преподавателей» с использованием Построителя выражений
- •Теория: Запросы с группировкой
- •Создание Запроса «ИнфоГрупп»
- •Теория: Каскадные запросы
- •Создание каскадного Запроса «ДляПриказа»
- •Теория: Перекрёстные запросы
- •Создание перекрёстного запроса «Подготовлено Слушателей»
- •Теория: Разработка и использование сложных Форм
- •Разработка заготовки формы с помощью Мастера форм
- •Теория: Доработка формы с помощью Конструктора форм
- •Доработка Формы в Конструкторе форм
- •Режимы отображения Формы
- •Теория: Использование формы
- •Ввод, копирование, корректировка и удаление записей в форме
- •Поиск записей в форме
- •Сортировка данных в форме
- •Использование фильтров данных в форме
- •Теория: Создание простых отчётов – автоотчётов
- •Создание и использование нового объекта бд – Отчёта
- •Создание Отчёта с параметром на основе Запроса с параметром
- •Теория: Создание отчётов с группировкой при помощи Мастера отчётов
- •Создание Отчёта с группировкой «УчебнаяНагрузкаПреподавателей»
- •Теория: Разработка и редактирование отчётов в режиме Конструктора
- •Доработка отчёта «УчебнаяНагрузкаПреподавателей» в режиме Конструктора
- •Создание Отчёта «Справка» на основе Запроса «Справка»
- •Теория: Подготовка сложных отчётов
- •Создание Отчёта «Приказ» на основе Запроса «ДляПриказа»
- •Создание отчёта «Приказ» слиянием документа Word с запросом «ДляПриказа», подготовленного в Access
- •Теория: Макросы, или макрокоманды
- •Создание макроса для выполнения запроса «ОбученыПоСпециализации»
- •Создание макроса для выполнения запроса «ИнфоГрупп»
- •Теория: «Кнопочная» форма
- •Создание Главного меню в виде кнопочной формы
- •Испытание и настройка кнопочной формы
- •Приложение 1. Исходные данные для ввода в таблицы Базы Данных tcbit
- •Приложение 2. Образец справки
- •Справка
- •Приложение 3. Образец приказа
- •Приложение 4. Использование функций Visual Basic в выражениях sql
- •Функция Choose
- •Синтаксис
- •Пояснения
- •Пояснения
- •Функция Left
- •Синтаксис
- •Пояснения
- •Содержание
- •Друшляков г.И., Назаренко э.Г.
Теория: Запросы с группировкой
Запросы с группировкой – это важная разновидность запросов, в которых выполняется не просто выборка данных из таблиц, но также выполняются и так называемые «групповые операции» над значениями указанных полей.
Групповыми операциями являются: Count – подсчёт количества записей, Sum – суммирование значений, Max, Min – определение максимального и минимального значений, Avg – вычисление среднего и др.
В следующем упражнении с помощью операции Count будет выполняться подсчёт количества записей в таблице Слушатели, у которых одинаковы значения поля Группа, т.е. будет подсчитано количество слушателей в каждой группе. Кроме того, с помощью операции Sum будет подсчитана выручка по каждой группе.
Создание Запроса «ИнфоГрупп»
В окне базы данных выберите объект «Запросы» и щёлкните по кнопке «Создать». Появится окно «Новый запрос».
В этом окне выберите способ создания запроса – Конструктор.
Включите в запрос таблицу Слушатели и настройте размеры изображения таблицы в верхней части окна конструктора так, чтобы были хорошо видны все поля.
Поместите поля Группа, РегНомер и СуммаОплаты ДВОЙНЫМ щелчком «мыши» в 1-й, 2-й и 3-й столбцы таблицы Конструктора.
В
ключите
режим группировки данных с помощью
инструмента «Групповая операция» на
панели инструментов. После этого в
таблице Конструктора запросов в строке
«Групповая операция:» в трёх столбцах
появится выпадающий список групповых
операций под именем «Группировка».Во втором столбце выберите в выпадающем списке «Группировка» операцию Count, т.е. подсчёт количества записей с одинаковыми значениями в поле Группа.
Перед именем поля РегНомер вставьте, т.е. введите псевдоним «Слушателей: » (с двоеточием и пробелом, но без кавычек).
В третьем столбце выберите в выпадающем списке «Группировка» операцию Sum, т.е. подсчёт суммы оплаты (выручки) слушателей с одинаковыми значениями в поле Группа.
Перед именем поля СуммаОплаты вставьте, т.е. введите псевдоним «Выручка: » (с двоеточием и пробелом, но без кавычек).
Проверьте работу запроса щелчком по инструменту «Запуск» . Запрос показывает количество слушателей и выручку в каждой группе. Обратите внимание на «группу номер -». Значение поля Слушателей для неё – это количество слушателей, не зачисленных ни в одну группу.
Сохраните запрос под именем «ИнфоГрупп» и закройте окно запроса.
Теория: Каскадные запросы
Простые запросы извлекают данные из одной-двух таблиц. Сложные запросы извлекают данные из нескольких таблиц и других запросов. Так могут образовываться цепочки (каскад) запросов, осуществляющих последовательный отбор данных. Вам предстоит создать сложный запрос ДляПриказа, в котором используются ранее созданные запросы СпискиГрупп и ИнфоГрупп. Запрос ДляПриказа понадобится Вам при создании отчёта Приказ.
Создание каскадного Запроса «ДляПриказа»
В окне Базы Данных выберите объект «Запросы» и щёлкните по кнопке «Создать». Появится окно «Новый запрос». В этом окне выберите способ создания запроса Конструктор. Появятся окно Конструктора и окно «Добавление таблицы».
В окне «Добавление таблицы», на вкладке «Таблицы», последовательно добавьте в Конструктор запросов таблицы Преподаватели, Группы, Специализации, а из вкладки «Запросы» добавьте запрос ИнфоГрупп. Закройте окно «Добавление таблицы».
Расположите изображения таблиц и запроса в верхней части окна конструктора так, чтобы были хорошо видны все поля таблиц и связи между таблицами.
В окне Конструктора должны автоматически отобразиться связи таблиц Преподаватели и Группы по одноимённым полям КодПрепод, таблиц Специализации и Группы по одноимённым полям КодСпециал в том виде, как они представлены в Схеме данных. Связь таблицы Группы с запросом ИнфоГрупп по полям соответственно НомерГруппы и Группа необходимо установить «вручную», протаскивая «мышь» от одного поля к другому.
Выберите в таблицах и переместите в соответствующие столбцы Конструктора нужные для запроса поля (в столбцы 1, 2, 3, 4, 5), а другие поля (в столбцах 6, 7, 8) введите в соответствии с нижеследующей вспомогательной таблицей.
Поля запроса ДляПриказа в окне Конструктора
Поле: |
НомерГруппы |
Специализация |
Слушателей |
Начало |
Окончание |
Имя таблицы: |
Группы |
Специализации |
ИнфоГрупп |
Группы |
Группы |
Условие отбора: |
<>’-‘ |
|
|
|
|
(продолжение таблицы)
Время: Choose([Группы]![Смена]; «9 - 12 час»; «12 - 15 час»; «15 - 18 час»; «18 - 21 час») |
Преподаватель: [Преподаватели]![Фамилия] & « » & Left([Преподаватели]![Имя]; 1) & «.» & Left([Преподаватели]![Отчество]; 1) & «.» |
Менеджер: «Волкова И.М.» |
|
|
|
|
|
|
Пояснение к таблице «Поля запроса ДляПриказа»:
1) В столбце 1 (НомерГруппы) в строке «Условие отбора» указано условие выбора только сформированных групп. Несформированные группы отмечены как ‘-‘.
2) В столбцах 6 и 7 значения полей формируются с использованием функций языка программирования Visual Basic. Будьте внимательны при вводе скобок и знаков препинания – здесь требуется абсолютная точность.
3) В поле с псевдонимом «Время: » с помощью функции Choose (выбрать) по номеру смены 1, 2, 3 или 4 выбирается время занятий: «9 -12 час», «12 -15 час» и т.д.
4) В поле с псевдонимом «Преподаватель: » из значений полей Фамилия, Имя, Отчество, например, Иванов Иван Иванович, формируется фамилия с инициалами: Иванов И.И. ВАЖНО: после поля [Фамилия] в кавычках стоит ПРОБЕЛ!
5) В поле с псевдонимом «Менеджер: » подставляются конкретная фамилия и инициалы менеджера (в кавычках), которые указываются в приказе, но отсутствуют в базе данных. Так тоже можно!
Сохраните запрос под именем «ДляПриказа».
Проверьте работу запроса щелчком по инструменту «Запуск». Он отбирает из базы все данные, необходимые для формирования приказа о зачислении слушателей. Этот запрос выводит данные по всем группам. Чтобы оставить данные только для одной группы, при использовании запроса нужно применить фильтр.
Закройте окно запроса.
