Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР_метод_р_печать.doc
Скачиваний:
10
Добавлен:
18.02.2016
Размер:
782.34 Кб
Скачать

7. Создание запросов с вычислениями

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

Для создания запроса с вычислениями используется бланк "запроса на выборку" в режиме Конструктора. Разница только в том, что в очередном свободном столбце вместо названия поля записывается формула. Формула начинается названием вычисляемой величины и двоеточием; это название в результирующей таблице запроса образует название поля с вычислениями. В формулу входятоперанды- ограниченные квадратными скобками названия полей, принимающих участие в вычислениях, и знаки математических операций (таблица 13), например,Стоимость: [Сумма] / [Цена].

В узенький столбец сложно записать длинную формулу, но если нажать [Shift] + [F2], то открывается вспомогательное диалоговое окноОбласть ввода. В поле этого окна можно ввести формулу любой длины. После нажатия кнопкиОКформула переводится в ячейку бланка "запроса на выборку".

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

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

1) Для создания запроса относительно количества ДТП каждого водителя открыть бланк "запроса на выборку" в режиме Конструктори добавить таблицыИнформацияиУчет ДТПиз окнаДобавление таблицы. Завершить выбор таблиц нажатием кнопкиЗакрыть.

2) Перетащить из таблицы Информацияв нижнюю часть бланка полеФИО, а из таблицыУчет ДТП- полеУщерб.

3) Нажатием кнопки Групповые операциина панели инструментовСтандартнаяприбавить в нижней части бланкаКонструкторстрокуГруппировка.

4) В столбце Ущербв строкеПолепередназваниемУщербввести название вычисляемого параметраКоличество ДТП:. Удалить в этом столбце функциюГруппировкаи ввести вместо него функциюCount (таблица 14), вычисляющую количество единиц в группе, то есть количество нарушений каждого водителя.

Таблица 13. Операнды MS Access

Оператор

Пример

Описание

+

[Итог] + [Надбавка]

Добавляет два операнда

-

Date( ) - 7

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

*

[Коробка] * [Цена коробки]

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

/

[Количество] / 12.55

Делит один операнд на второй

\

[Коробка] \ 2

Делит нацело один целый операнд на второй. При использовании деления нацело операнды с десятичными дробями округляются до целого, а дробная часть отбрасывается

Mod

[Коробка] Mod 12

Возвращает остаток от деления нацело. Например, 15 Mod 12 равняется 3

^

Показатель ^

Возводит операнд (основу) в степень [показатель]

<

1 < 100

Меньше

<=

1 <= 1

Меньше или равно

=

1 = 100

Равняется

>=

100 >= 1

Больше или равно

>

100 > 100

Больше

<>

1 < > 100

Не равно

And

Конъюнкция (логическое И)

Or

Дизъюнкция (логическое ИЛИ)

Not

Логическое отрицание

Eqv

Логическая эквивалентность

Таблица 14. Функции MS Access

Функция

Типы полей

Описание

Avg( )

Все типы полей, кроме "Текстовый", "Поле Memo" и "Поле объекта OLE"

Вычисляет арифметическое среднее набора чисел, находящихся в указанном поле запроса

Count( )

Все типы полей

Вычисляет количество заполненных записей

Max( )

Все типы полей, кроме "Текстовый", "Поле Memo" и "Поле объекта OLE"

Возвращает максимальное значение из данных указанного поля

Min( )

Все типы полей, кроме "Текстовый", "Поле Memo" и "Поле объекта OLE"

Возвращает минимальное значение из данных указанного поля

Sum( )

Все типы полей, кроме "Текстовый", "Поле Memo" и "Поле объекта OLE"

Возвращает сумму данных указанного поля

5) По окончании формирования бланка этого запроса нажать кнопку Закрыть(справа в строке заголовка бланка). На экран выводится окно для ввода названия запроса; удалить предложенное название, ввести названиеКоличество ДТП 3и нажать [Enter], что тождественно нажатиюOK.

6) Для создания запроса относительно ущерба каждого водителя открыть бланк "запроса на выборку" в режиме Конструктори добавить таблицыИнформацияиУчет ДТПиз окнаДобавление таблицы. Завершить выбор таблиц нажатием кнопкиЗакрыть.

7) Перетащить из таблицы Информацияв нижнюю часть бланка полеФИО, а из таблицыУчет ДТП- поле Ущерб.

8) Нажатием кнопки Групповые операциина панели инструментовСтандартнаядобавить в нижней части бланкаКонструкторастрокуГруппировка.

9) В столбце Ущербв строкеПолепередназваниемУщербввести название вычисляемого параметраУщерб ДТП:.Удалитьв этом столбце функциюГруппировкаи ввести вместо нее функциюSum(таблица 14), вычисляющей сумму ущерба каждого водителя.

10) По окончании формирования бланка этого запроса нажать кнопку Закрыть. На экран выводится окно для ввода названия запроса; удалить предложенное название, ввести названиеУщерб ДТП 3и нажать [Enter].

11) Для создания запроса относительно общегоколичества ДТП, причиненных водителями, иобщей суммы ущерба открыть бланк "запрос на выборку" в режимеКонструктор. Из окнаДобавление таблицыв верхнюю часть бланка добавить таблицуУщерб ДТП; в нижнюю часть бланка дважды перетащить полеУщерб.

12) В строке Полев первом столбике названиеУщербзаменить таким выражением:Количество ДТП:Count([Ущерб])

В строке Полево втором столбце названиеУщербзаменить таким выражением:Ущерб ДТП:Sum([Ущерб])

13) По окончании формирования бланк этого запроса нажать кнопку Закрыть. На экран выводится окно для ввода названия запроса; удалить предложенное название, ввести названиеОбщий ущерб 3и нажать [Enter]. Обратить внимание на то, что после закрытия последнего запроса в его строкеИмя таблицыназвания таблицыУчет ДТПскрываются средой Access.

14) Выполнить запросы для проверки выполненных действий.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]