Запросы могут не только отбирать нужную информацию из таблиц и обрабатывать ее путем создания новых (вычисляемых) полей, но и производить так называемые итоговые вычисления.
Примером итогового вычисления может служить сумма всех значений в какой-то группе записей или их среднее значение, хотя кроме суммы и среднего значения существуют и другие итоговые функции.
Поскольку итоговые функции для одной записи не имеют смысла и существуют только для группы записей, то предварительно записи надо сгруппировать по какому-то признаку.
1. Рассмотрим работу салона, занимающегося продажей подержанных автомобилей. Результаты работы салона за последнюю неделю содержатся в таблице. В ней можно выделить несколько групп по разному признаку. Записи можно сгруппировать по моделям автомобилей (ВАЗ – отдельно и BMW – отдельно) или по году выпуска (1989, 1993 и т.д.). Для каждой из групп можно провести итоговое вычисление по полю Цена.
2. Итоговые запросы создают на основе известного нам бланка запросов по образцу, только теперь в нем появляется дополнительная строка – Группировка.
3. Для введения этой строки в бланк надо щелкнуть по кнопке Групповые операции на панели инструментов.
4. В тех полях, по которым производится группировка, надо установить (или оставить) функцию Группировка.
5. В тех полях, по которым следует провести итоговое вычисление, надо в строке Группировка раскрыть список и выбрать одну из нескольких итоговых функций.
6. Щелчок по кнопке Вид запускает запрос и выдает результирующую таблицу с необходимыми итоговыми данными.
7. В строке Группировка можно указать лишь одну итоговую функцию. Если надо найти и сумму, и среднее, и максимальное значение, одно и то же поле можно включить в бланк запроса по образцу несколько раз.
Практическое задание.
Создайте новую БД с таблицей «Автосалон», (поля Автомобиль и ГодВыпуска – текстовые, поле Цена – числовое):
Автомобиль
Год выпуска
Цена
Тойота-Карина
Опель-Омега
BMW-525
Фольксваген-Пассат
ВАЗ-2105
ВАЗ-2105
Опель-Омега
BMW-525
Тойота-Карина
Фольксваген-Пассат
Тойота-Карина
Фольксваген-Пассат
Опель-Омега
ВАЗ-2105
BMW-525
Опель-Омега
Тойота-Карина
Фольксваген-Пассат
BMW-525
ВАЗ-2105
По полученной таблице создайте итоговый запрос:
Формы
Форма представляет собой некий электронный бланк, в котором имеются поля для ввода данных. Пользователь вводит данные в эти поля, и данные автоматически заносятся в таблицы базы.
Данные в таблицу можно вносить и без помощи каких либо форм, но существуют, по крайней мере, четыре причины, которые делают формы незаменимым средством ввода данных в базу.
Во-первых, малоквалифицированному персоналу нельзя предоставлять доступ к таблицам (самому ценному из того, что есть в базе).
Во-вторых, разные люди могут иметь разные права доступа к информации, хранящейся в таблицах. Например, один имеет право вводить только имена и адреса клиентов, другой – только номера их расчетных счетов, а третий – только денежные суммы, хранящиеся на этих счетах. Сговор между этими людьми должен быть исключен. Для ввода данных им предоставляют разные формы, хотя данные из форм могут поступать в одну таблицу.
В-третьих, ввод данных в таблицу – чрезвычайно утомительное занятие. Уже после нескольких часов работы люди делают ошибки. Ввод данных в форму проще. Здесь многое можно автоматизировать. К тому же элементы управления форм настраивают таким образом, чтобы при вводе данных выполнялась их первичная проверка.
И наконец, в-четвертых, надо вспомнить, откуда берется информация для БД. Как правило, ее берут из бумажных бланков (анкет, заявлений, накладных, счетов, описей, ведомостей, справок и т.п.). Экранные формы можно сделать точной копией бумажных бланков, с которых происходит ввод данных. Благодаря этому во много раз уменьшается количество ошибок при вводе и значительно снижается утомляемость персонала.