Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Access.doc
Скачиваний:
8
Добавлен:
06.12.2018
Размер:
1.05 Mб
Скачать

Вычисления в запросах

Нередко кроме информации, непосредственно содержащейся в таблицах базы данных, требуется получить новую информацию, которая может быть вычислена на основании имеющейся. Для этого можно добавить в запрос новые поля, указав способ их вычисления на базе имеющихся. Такие поля называются вычисляемыми.

Построим для базы данных «Телефонная компания» запрос, содержащий перечень всех междугородных разговоров с указанием стоимости каждого из них. Этой информации в базе нет, но она может быть вычислена исходя из продолжительности разговора и цены одной минуты связи с данным городом и с учетом льгот.

Для построения запроса нам потребуются все три таблицы базы. Выберем из них поля ФамилияИО, №телефона, Дата, Продолжительность и Город. Из таблицы Тарифы мы не взяли никакие поля, но она нам нужна для вычислений. Зададим в поле Город условие отбора <>”” (междугородные разговоры).

Теперь построим вычисляемое поле. Для этого в свободном столбце вызовем с помощью правой кнопки мыши контекстное меню и выберем команду Построить. Мы увидим на экране окно построителя выражений. В этом окне и будем строить нужное поле. Сначала дадим ему имя, например, Стоимость. Отделим его от формулы двоеточием (его употребление является обязательным!). Затем, выбирая нужные поля из соответствующих таблиц и используя знаки арифметических действий, вводим формулу.

Обратите внимание, что в формулах используется полное имя поля, которое составлено из двух коротких имен, разделяемых восклицательным знаком или точкой. Первое – имя класса объектов (таблицы, запроса, формы или отчета), второе – собственное имя объекта. Из-за использования указанных разделителей имена объектов не должны содержать символов «!» и «.». Символ «!» используется в Access для разделения имен таблиц и имен полей.

Имена таблиц и полей при построении выражения не вводятся вручную (во избежание ошибок), а выбираются из списка таблиц базы (слева в окне Построителя выражений). Там же можно выбрать встроенную функцию MS Access.

Рис.12. Построение вычисляемых полей

Если мы все выполнили без ошибок, то при выполнении запроса мы увидим столбец Стоимость с вычисленными значениями.

Итоговый запрос

Запросы, выполняющие вычисления над группой записей, называются итоговыми. Например, для нахождения суммы значений по определенному полю, максимального значения в поле или количества записей, содержащих определенной значение, следует создавать итоговый запрос.

Для нашей базы данных создадим итоговый запрос, показывающий суммарную стоимость всех междугородных разговоров для каждого абонента. Этот запрос удобно строить на базе предыдущего. Включите в бланк запроса поля №телефона и Стоимость.

Затем следует нажать кнопку Групповые операции на панели инструментов. В бланке запроса появится новая строка Групповая операция. В этой строке вы будете указывать Access, какие действия нужно выполнить. По умолчанию всегда задается действие Группировка. Оставим эту операцию в поле №телефона, а в поле Стоимость выберем операцию Sum (суммирование). Тем самым мы дали указание Access группировать записи с одинаковым номером телефона суммировать значения поля Стоимость.