- •Общие указания по изучению дисциплины
- •План изучения дисциплины
- •II. Методические указания по выполнению контрольной работы
- •2.1. Общие требования к выполнению контрольной работы
- •2.2. Задание на контрольную работу
- •Разработать главную кнопочную форму
- •Оформить работу
- •2.3. Пример выполнения задания контрольной работы.
- •2. Создание таблиц в режиме Конструктора.
- •2.1. Описание атрибутов, составляющих структуру каждого объекта:
- •2.2. Связывание таблиц.
- •2.3. Заполнение таблиц.
- •3. Создание запросов.
- •3.1. Запрос на выборку
- •3.2. Параметрический запрос
- •3.3. Запрос с вычисляемыми полями
- •3.4. Запрос с использованием логических операторов between, Like, In
- •4.Создание форм.
- •Создание формы с помощью мастера на основе разработанного запроса
- •Создание формы с подчиненной таблицей (подформой)
- •5.Создание отчетов.
- •Разработка отчета с помощью Мастера с использованием итоговых функций.
- •Разработка с помощью Конструктора многотабличного отчета.
- •Макросы для открытия таблиц
- •Для открытия форм
- •Для печатания отчета
- •Для вывода сообщения
- •Для выхода из Access
- •Разработка главной кнопочной формы.
- •III. Вопросы для самостоятельного изучения
- •IV. Рекомендованная литература основная
- •Дополнительная
2.2. Связывание таблиц.
Связывание осуществляется по полям первичных и внешних ключей таблиц. Методом «буксировки» мышью.
Для автоматической корректировки данных установить в окне выбора параметров связи следующие режимы:
Обеспечение целостности данных,
Каскадное обновление связанных полей
Каскадное удаление связанных записей.
Для того, чтобы в таблицах задать составной первичный ключ, необходимо удерживать клавишу SHIFT выделяя нужные поля и установить их ключевыми.
2.3. Заполнение таблиц.
Для того, чтобы данные таблиц не противоречили друг другу рекомендуется использовать мастер подстановок.
В результате получаются таблицы с вложенными (подчиненными) таблицами:
Таблица Группа
Таблица Студенты
Таблица Предмет
Таблица Преподаватель
Таблица Успеваемость
3. Создание запросов.
3.1. Запрос на выборку
Получить оценки студентов. Условие отбора : № группы =321.
Запрос в SQL:
SELECT Студенты.НГ, Студенты.НС, Студенты.ФИО, Успеваемость.КПредм, Успеваемость.ОЦЕНКА
FROM Студенты INNER JOIN (Предмет INNER JOIN Успеваемость ON Предмет.КПредм = Успеваемость.КПредм) ON (Студенты.НС = Успеваемость.НС) AND (Студенты.НГ = Успеваемость.НГ)
WHERE (((Студенты.НГ)="321"));
Конструктор запросов:
Результат запроса
3.2. Параметрический запрос
Параметрический запрос – не использует статичный критерий, поле настраивается так, что сама программа запрашивает ввод критерия при каждом запуске запроса на выполнение. В качестве параметра должны выступать только константы (строчные, числовые, логические, даты и времени). При необходимости можно устанавливать несколько параметров одновременно.
Запрос: Получить по фамилии преподавателя код предмета, название предмета, который он ведет, общее количество часов на дисциплину, количество часов на лекции и на практику.
- в конструкторе добавить необходимые таблицы;
- выбрать необходимые поля для получения ответа на запрос;
- в строке условие отбора в квадратных скобках указать критерий отбора, который будет запрашиваться при каждом выполнении запроса.
Запрос в режиме SQL:
SELECT Преподаватель.ФИО, Преподаватель.КПредм, Предмет.ЧАСЫ, Предмет.ЛЕК, Предмет.ПР, Предмет.НП
FROM Предмет INNER JOIN Преподаватель ON Предмет.КПредм = Преподаватель.КПредм
WHERE (((Преподаватель.ФИО)=[введите фамилию преподавателя]));
Выполнение запроса:
Результат запроса:
3.3. Запрос с вычисляемыми полями
Вычисляемое поле, включенное в запрос, позволяет получить новое поле с результатами вычисления только в таблице запроса и не создает полей в таблицах базы данных.
Запрос: найти записи о предметах, в которых общее число часов по предмету не совпадает с суммой часов лекций и практики.
Создать запрос на выборку для таблицы ПРЕДМЕТ. Перетащить в бланк запроса поля НП, ПР, ЛЕК, Общее кол-во часов. Создание вычисляемого поля. Для получения разности создадим вычисляемое поле в пустой ячейке строки Поле, записав туда выражение: [Общее количество часов]-[ПР]-[ЛЕК].
Для отбора записей с ненулевым значением разности в вычисляемом поле в строку Условие отбора введем < > 0 (не равно 0).
После ввода выражения система формирует имя вычисляемого поля по умолчанию — Выражение 1:. Это имя вставится перед выражением. Для изменения имени установить курсор мыши в вычисляемом поле бланка запроса и нажать правую кнопку мыши. В контекстно-зависимом меню выбрать Свойства поля и в строку Подпись ввести новое имя поля — ЧАСЫ не равны ПР+ЛЕК. Имя поля может быть исправлено также непосредственно в бланке запроса.
Построенный запрос может быть использован для проверки правильности заполнения поля ЧАСЫ в таблице ПРЕДМЕТ.
Режим Конструктора запросов:
Запрос в режиме SQL:
SELECT Предмет.НП, Предмет.ЧАСЫ, Предмет.ЛЕК, Предмет.ПР, Предмет.ЧАСЫ- Предмет.ЛЕК- Предмет.ПР AS подсчет часов
FROM Предмет
WHERE (Подсчет часов <> 0);
Результат запроса: