- •Оглавление
- •Введение
- •Лекция 1. Основные понятия баз данных
- •Объекты баз данных
- •Структура таблицы
- •Лекция 2. Приемы работы с базой данных Просмотр таблицы
- •Перемещение по таблице
- •Фиксирование столбца
- •Формат Закрепить столбец.
- •Освобождение закрепленных столбцов
- •Замена данных
- •Лекция 3. Сортировка записей. Фильтры
- •Сортировка записей
- •Исключение выделенного
- •Лекция 4. Типы данных в ms Access
- •Текстовый тип
- •Числовой тип
- •Тип Счетчик
- •Денежный тип
- •Тип Дата/время
- •Логический тип
- •Объекты ole
- •Гиперссылки
- •Мастер подстановок
- •Лекция 5. Создание базы данных Проектирование базы данных
- •Создание таблиц
- •Использование списков подстановок
- •Создание списков подстановок на основе существующей таблицы или запроса
- •Лекция 6. Структура базы данных. Связи между таблицами
- •Связи между таблицами
- •Создание связей
- •Удаление связей
- •Лекция 7. Запросы
- •Условия отбора
- •Основные логические операторы Логический оператор and
- •Логический оператор or
- •Логический оператор not
- •Сочетание логических операторов And, Or и Not
- •Лекция 8. Построение запросов
- •Запрос на основе одной таблицы
- •Запрос на основе нескольких таблиц
- •Запрос на основе другого запроса
- •Запрос с параметром
- •Вычисления в запросах
- •Итоговый запрос
- •Лекция 9. Формы
- •Создание формы на основе таблицы или запроса
- •Создание формы с помощью Мастера
- •Структура формы
- •Создание формы с помощью Конструктора
- •Проектирование форм
- •Добавление кнопок
- •Прочие элементы управления формы
- •Лекция 10. Отчеты и диаграммы
- •Структура отчета
- •Создание отчета с помощью мастера
- •Автоотчеты
- •Создание диаграмм
- •Создание диаграммы «с нуля»
- •Создание встроенной диаграммы
- •Изменение диаграмм
- •Запуск Microsoft Graph
- •Печать данных (обзор)
- •Запуск печати
- •Настройка печати
Вычисления в запросах
Нередко кроме информации, непосредственно содержащейся в таблицах базы данных, требуется получить новую информацию, которая может быть вычислена на основании имеющейся. Для этого можно добавить в запрос новые поля, указав способ их вычисления на базе имеющихся. Такие поля называются вычисляемыми.
Построим для базы данных «Телефонная компания» запрос, содержащий перечень всех междугородных разговоров с указанием стоимости каждого из них. Этой информации в базе нет, но она может быть вычислена исходя из продолжительности разговора и цены одной минуты связи с данным городом и с учетом льгот.
Для построения запроса нам потребуются все три таблицы базы. Выберем из них поля ФамилияИО, №телефона, Дата, Продолжительность и Город. Из таблицы Тарифы мы не взяли никакие поля, но она нам нужна для вычислений. Зададим в поле Город условие отбора <>”” (междугородные разговоры).
Теперь построим вычисляемое поле. Для этого в свободном столбце вызовем с помощью правой кнопки мыши контекстное меню и выберем команду Построить. Мы увидим на экране окно построителя выражений. В этом окне и будем строить нужное поле. Сначала дадим ему имя, например, Стоимость. Отделим его от формулы двоеточием (его употребление является обязательным!). Затем, выбирая нужные поля из соответствующих таблиц и используя знаки арифметических действий, вводим формулу.
Обратите внимание, что в формулах используется полное имя поля, которое составлено из двух коротких имен, разделяемых восклицательным знаком или точкой. Первое – имя класса объектов (таблицы, запроса, формы или отчета), второе – собственное имя объекта. Из-за использования указанных разделителей имена объектов не должны содержать символов «!» и «.». Символ «!» используется в Access для разделения имен таблиц и имен полей.
Имена таблиц и полей при построении выражения не вводятся вручную (во избежание ошибок), а выбираются из списка таблиц базы (слева в окне Построителя выражений). Там же можно выбрать встроенную функцию MS Access.
Рис.12. Построение вычисляемых полей
Если мы все выполнили без ошибок, то при выполнении запроса мы увидим столбец Стоимость с вычисленными значениями.
Итоговый запрос
Запросы, выполняющие вычисления над группой записей, называются итоговыми. Например, для нахождения суммы значений по определенному полю, максимального значения в поле или количества записей, содержащих определенной значение, следует создавать итоговый запрос.
Для нашей базы данных создадим итоговый запрос, показывающий суммарную стоимость всех междугородных разговоров для каждого абонента. Этот запрос удобно строить на базе предыдущего. Включите в бланк запроса поля №телефона и Стоимость.
Затем следует нажать кнопку Групповые операции на панели инструментов. В бланке запроса появится новая строка Групповая операция. В этой строке вы будете указывать Access, какие действия нужно выполнить. По умолчанию всегда задается действие Группировка. Оставим эту операцию в поле №телефона, а в поле Стоимость выберем операцию Sum (суммирование). Тем самым мы дали указание Access группировать записи с одинаковым номером телефона суммировать значения поля Стоимость.