
- •Оглавление
- •Глава 6. Формы 74
- •Глава 7. Запросы 94
- •Глава 8. Отчеты 118
- •Введение
- •Глава 1. Основные понятия баз данных
- •Модели представления данных в базах данных
- •1.2. Система управления базами данных Access
- •Объекты Access
- •Глава 2. Построение базы данных
- •2.1. Основные принципы проектирования бд
- •2.2. Создание новой базы данных
- •2.2.1. Создание таблиц
- •2. Режим конструктора
- •2.3. Тип данных и свойства поля
- •2.3.1. Тип данных
- •2.3.2. Задание свойства поля
- •1). Размер поля
- •2). Формат поля
- •3). Маска ввода
- •4). Подпись
- •5). Значение по умолчанию
- •7). Индексированное поле
- •8). Сообщение об ошибке
- •2.4. Ключевое поле
- •2.5. Подстановка данных
- •2.6. Установка свойств таблицы
- •Глава 3. Связи в access
- •3.1. Определение связей между таблицами
- •3.2. Типы связей между таблицами
- •1. Связь типа «один-ко-многим»
- •2. Связь типа «один-к-одному»
- •3. Связь типа «многие-ко-многим»
- •3.3. Создание связей
- •Глава 4. Работа с таблицей
- •Модификация бд. Операции над таблицами
- •Модификация структуры таблицы
- •Изменение типа данных и размера поля
- •Ввод и редактирование данных в таблице
- •4.4. Поиск и замена данных
- •4.5. Сортировка и фильтрация данных
- •Глава 5. Функции. Формулы. Выражения. Построитель выражений
- •5.1. Операторы
- •5.1.1. Арифметические операторы
- •5.1.2. Операторы слияния строк (конкатенации)
- •5.1.3. Операторы сравнения
- •5.1.4. Логические операторы
- •5.1.5. Операторы идентификации. Идентификаторы
- •5.2. Константы
- •5.3. Функции
- •5.3.1. Функции для работы с датами
- •5.3.2. Функции для работы со строками
- •5.3.3. Математические функции
- •5.3.4. Статистические функции
- •5.3.5. Статистические функции по подмножеству
- •5.3.6. Другие полезные функции
- •5.4. Построитель выражений
- •Глава 6. Формы
- •6.1. Создание формы
- •6.2. Структура формы
- •6.3. Виды форм
- •6.4. Содержимое формы
- •6.5. Создание формы
- •Использование Мастера форм
- •6.6. Элементы управления
- •6.6.1. Изменение стандартных свойств эу
- •6.7. Настройка внешнего вида формы
- •6.8. Создание эу
- •6.9. Создание диаграмм
- •6.10. Составные формы
- •Глава 7. Запросы
- •7.1. Общая характеристика запросов
- •7.1.1. Свойства запросов
- •1. Вывод всех полей
- •2. Набор значений
- •3. Уникальные значения
- •7.2. Типы запросов в Access
- •7.3. Создание запроса
- •7.3.1. Создание запроса в режиме Конструктор
- •7.3.2. Включение полей в бланк запроса
- •7.3.3. Добавление вычисляемого поля
- •7.4. Отбор записей в однотабличных запросах
- •7.4.1.Точное совпадение значений полей
- •7.4.2. Шаблоны общего вида. Оператор Like
- •7.4.3. Диапазон значений. Операторы And и Between
- •7.4.4. Список значений. Операторы Or и In
- •7.4.5. Отрицание образца. Оператор not
- •7.4.6. Отбор записей с Null значениями и пустыми строками
- •7.4.7. Использование нескольких строк условий
- •7.4.8. Использование вычисляемых полей
- •7.5. Запросы с параметром
- •7.6. Итоговые запросы
- •7.7. Перекрестные запросы
- •7.8. Запросы на изменение
- •7.8.1 Запрос на добавление
- •7.8.2. Запрос на удаление
- •7.8.3. Запрос на создание таблицы
- •7.8.4. Запрос на обновление
- •Глава 8. Отчеты
- •8.1. Структура отчета
- •8.2. Создание отчета
- •Создание отчета с помощью Конструктора
- •8.3. Сортировка и группирование
- •8.4.Режимы окна отчета
- •8.5. Печать отчета
- •Информационное обеспечение управления I.
7.5. Запросы с параметром
В условиях отбора можно использовать не только конкретные значения, но и параметры. Перед выполнением запроса, содержащего один или несколько параметров, Access каждый раз будет запрашивать конкретные условия отбора и затем произведет отбор нужной информации. Используя параметры, можно заменить несколько однотипных запросов к данным одним запросом.
Чтобы задать параметр, нужно ввести в строку Условие отбора вместо конкретного значения произвольный текст, заключенный в квадратные скобки [ ]. Этот текст Access рассматривает как имя параметра и выводит его в специальном диалоговом окне при выполнении запроса. Поэтому в качестве имени параметра лучше использовать содержательную фразу, причем имя каждого параметра должно быть уникальным. Например, создадим запрос, который выводит дату рождения студента по номеру группы и его фамилии (см. рис.7.11, 7.12).
Рис.7.11. Окно запроса с параметром
При выполнении запроса Access попросит ввести одно за другим значения для каждого из параметров, используя для ввода диалоговые окна Введите номер группы, а затем –Введите Фамилию. После ввода всех значений запрос будет выполнен и на экране появится результирующий набор записей.
Рис.7.11. Запрос с параметром
Рис. 7.12. Результат выполнения запроса
7.6. Итоговые запросы
Иногда требуется, чтобы результатом выполнения запроса были не значения отдельных записей таблиц БД, а итоговые значения по группам записей. Например, может понадобиться определить средние баллы по экзаменам в каждой учебной группе или найти суммарную стипендию, полученную студентами в каком-то месяце. Получить ответ на такие вопросы можно с помощью итогового запроса– запрос наВыборкуи нажать кнопкуИтоги(см. рис.7.13).
Рис.7.13. Создание итогового запроса
Группировка записей в итоговом запросе
Для вычисления в запросе итоговых значений нужно щелкнуть по кнопке Групповые операциина панели инструментов. В бланке запроса появится строкаГрупповая операцияи для всех полей в этой строке будет установлено значениеГруппировка. Это же значение будет по умолчанию устанавливаться и для добавляемых в бланк запроса полей. Необходимо помнить, что в итоговом запросе Access группирует (объединяет в одну группу) записи с одинаковыми значениями в полях, имеющих в строкеГрупповая операциязначениеГруппировка. Поэтому, если выполнить запрос, в бланке которого все поля имеют значенияГруппировка, то будет создан набор записей, включающий по одной записи из каждой группы.
Например, если включить в бланк запроса поле Группатаблицы Студенты, щелкнуть по кнопкеГрупповые операциии выполнить запрос, то Access выдаст на экран список номеров групп. Однако никаких итогов Access не подведет. Для выполнения этой операции ему нужна следующая информация:
по каким полям нужно подводить итоги;
какие итоги нужно подводить по данному полю.
Поэтому в бланке запроса наряду с групповыми полями, по которым производится группировка, должны находитьсяитоговые поля, причем для каждого итогового поля должен быть указан тип подводимых итогов (сумма, среднее, максимум и т.п.). Итоговым полем может быть как поле таблицы (запроса), находящейся в окне конструктора, так и специально созданное для этой цели вычисляемое поле. Для каждого итогового поля в строкеГрупповая операциядолжна быть указана статистическая функция, с помощью которой будет проводиться групповая операция — вычисление итогов в этом поле. Имя нужной функции (Sum,Avg,Max и т.д.) можно ввести в соответствующую ячейку в строкеГрупповая операцияили выбрать из раскрывающегося списка.
Пример.Найти число студентов на каждом курсе.
Добавим в окно конструктора таблицу Студенты, затем щелкнем по кнопке Групповые операциии включим в бланк запроса поле Курс. Оно будет использовано для группировки записей. В качестве итогового поля выберем поле КодСтудента, а в качестве итоговой функции — функциюCount. Дадим итоговому полю имя всего. Окно запроса представлено на рис. 7.14.
Рис. 7.14. Формирование итогового запроса
На рисунке ниже – его результат, количество студентов на каждом курсе (см. рис.7.15):
Рис.7.15. Итоги по курсам