
- •Содержание
- •Предисловие
- •1.2 Разработка структуры таблиц и типов полей в бд «Школа»
- •1.3 Допустимые данные для таблиц бд «Школа»
- •1.4 Создание таблиц бд «Школа» и связей между ними
- •1.5 Схема данных бд «Школа»
- •2. Создание форм
- •2.1 Создание автоформы.
- •2.2 Создание формы с помощью команды Форма пункта меню Вставка (или кнопки Новый объект на пи, рис.2.1)
- •2.3 Создание форм в окне Форма главного окна бд
- •2.3.1 Создание формы Учителя
- •2.3.2 Использование картинки в качестве фона для формы
- •2.4 Создание подчиненных форм
- •3. Сортировка и поиск данных. Фильтры
- •3.1 Сортировка
- •3.2 Поиск с помощью команды Найти
- •3.3 Фильтры
- •3.3.1 Фильтр по выделенному
- •3.3.2 Расширенный фильтр
- •4. Запросы
- •4.1 Основные виды запросов
- •4.2 Создание простых запросов
- •4.3 Вычисления в запросах
- •4.4 Вычисления в запросах с использованием встроенных функций
- •4.5 Перекрестные запросы
- •4.6 Построение запроса на обновление данных.
- •5. Отчеты
- •5.1 Способы создания отчета
- •Создание автоотчета
- •5.1.2 Создание отчета с помощью мастера
- •5.2 Создание итогового отчета на основе нескольких таблиц
- •5.3 Рекомендации по работе с отчетами
- •5.3.1 Изменение масштаба отображения отчета
- •5.3.2 Печать отчета
- •5.3.3 Добавление и удаление областей в отчете
- •5.3.4 Изменение фона элементов отчета
- •Примечание
- •Заключение
4.5 Перекрестные запросы
Перекрестные запросы позволяют выполнять вывод данных в виде перекрестной таблицы, в которой в качестве заголовков столбцов используются значения полей и выражений. Перекрестные запросы добавляют еще одну строку Перекрестная таблица в Бланк запроса.
Создадим перекрестный запрос «Средняя оценка учеников по предметам».
Для создания этого запроса выполним следующие действия:
Выберем Создание запроса в режиме конструктора.
Добавим таблицы Ученики, Предмет и Получает.
В Бланк запроса перенесем следующие поля: Фамилия, Название и Оценка.
На ПИ щелкнем на копке Тип запроса и выберем там Перекрестный.
В бланк запроса добавиться дополнительная строка Перекрестная таблица.
В этой строке для столбца Фамилия выберем Заголовки строк, для столбца Название – Заголовки столбцов, а для столбца Оценка – Значение (рис.4.17):
В столбце Оценка в строке Групповая операция выберем Avg (среднее арифметическое)
Щелкнем на кнопке Выполнить ( ! )
Результат работы запроса показан на рис.4.18. Этот запрос содержит средние оценки всех учеников по всем предметам. Т.к. наши ученики изучают не одни и те же предметы, то в этой таблице есть пустые клетки.
А теперь изменим немного этот запрос. Добавим поле Класс. В строке Условие отбора для него добавим 11-А (рис.4.19) Запустим запрос на выполнение. Результат на рис.4.20
Мы видим, что поле Класс в результате работы запроса не отобразилось, а служит только для задания условия отбора для вывода данных. Если в Конструкторе запроса изменить значение для поля Класс, то и результат работы запроса измениться.
4.6 Построение запроса на обновление данных.
Создадим запрос «Замена предмета». Сначала создадим простой запрос на выборку по трем таблицам: Учитель, Преподает и Предмет (рис.4.21), запустим его на выполнение. Обязательно нужно щелкнуть мышкой в любом месте таблички, которая появиться у нас в качестве результата работы запроса. Потом перейдем в режим конструктора. На ПИ щелкнем на кнопке Тип запроса и выберем Обновление. Запустим запрос на выполнение. В таблице результата работы запроса внесем необходимые изменения, например, учитель Циркуль перестал преподавать химию, а стал преподавать биологию, а учитель Присидайло уволился, на его место пришел учитель Быстрый и стал преподавать вместо физкультуры волейбол (рис.4.22).
После выполнения этого запроса изменяться данные во всех таблицах и запросах, где они используются. Проверьте это, открывая таблицы Учителя, Получает и т.д.
При создании запросов на добавление записей или на создание таблицы Access предложит сначала указать имя создаваемой или пополняемой таблицы.
При выполнении запроса на удаление, удаляются все связанные записи в таблицах, если в окне Изменение связей схемы данных (рис.1.25) установлены флажки Обеспечение целостности данных, Каскадное обновление связанных полей и Каскадное удаление связанных записей. С одной стороны, это очень удобное средство при изменении и удалении всех ненужных записей, а с другой стороны, нужно быть очень осторожным при проведении этой операции.