Добавление вычисляемого поля в запрос
Лабораторная работа №3.
Создание и использование таблиц, форм, запросы и отчеты в Access.
Добавление вычисляемого поля в запрос.
Создадим базу данных, которая будет содержать сведения о производстве овощей различными федеральными округами Российской Федерации и входящими в их состав регионами. При этом исходными данными будут служить посевная площадь и валовой сбор, а урожайность будет рассчитываться автоматически в вычисляемом поле запроса.
Итак, сформируйте в режиме конструктора таблицу Типы регионов, включив в нее всего два поля – Код (с типом данных Счетчик) и Тип региона (тип данныхТекстовый). Ключевые поля не задавайте. Перейдите в режим таблицы и введите следующие значения (в шестой строке впишите прочерк):
Создайте еще одну небольшую таблицу Федеральные округа РФ. В режиме конструктора задайте ее структуру: Код округа(тип данных – Счетчик) и Федеральный округ(тип данных – Текстовый). Ключевые поля использовать не будем. Перейдите в режим ввода данных и заполните таблицу:
Теперь можно приступить к созданию основной таблицы. Ввиду большого объема работы по ее заполнению не станем использовать столбцы подстановки при вводе федеральных округов и типов региона, а будем указывать их коды. Поэтому в режиме конструктора сформируйте структуру таблицы, как показано ниже. При вводе типа данных Денежныйв поля Площадьи Сбор ниже, в окне «Свойства поля» щелкните в строке «Формат поля» и выберите из предложенного списка Фиксированный. Это нужно, чтобы была возможность ввода чисел с двумя знаками после запятой и обработки их с повышенной точностью:
Сохраните таблицу под именем Производство овощей в федеральных округах и регионах РФ. Заполните ее данными:
Очевидно, что считывать информацию, пользуясь подобной таблицей, совершенно неудобно, поскольку отдельные данные в ней закодированы. Поэтому составим запрос, в котором будет представлена полная картина данных, и к тому же добавим в него вычисляемое поле для расчета урожайности овощных культур по регионам и федеральным округам.
Вызовите команду создания запроса в режиме конструктора и добавьте последовательно все три созданные ранее таблицы: Типы регионов, затем – Производство овощей в федеральных округах и регионах РФ и, наконец, Федеральные округа РФ.
Теперь необходимо задать связи между таблицами. Для этого нажмите на названии поля Код таблицы Типы регионов и, Удерживая мышь, перетащите указатель на название поля Код типа региона таблицы Производство овощей в федеральных округах и регионах РФ. Связь отображена в виде обоюдной стрелки. Создайте также связь между полями Код округа таблиц Производство овощей в федеральных округах и регионах РФи Федеральные округа РФ. У вас получится следующее:
Затем выберите из указанных таблиц поля включения их в запрос:
Для ввода вычисляемого Урожайность щелкните в том месте, где должно быть его название, правой кнопкой мыши и выберите из контекстного меню команду Построить, откроется окно построителя выражений.
Слева внизу разверните двойным щелчком папку Таблицы, затем нажмите таблицу Производство овощей в федеральных округах и регионах РФ. Имеющиеся в ней поля будут отражены в окне правее.
Двойным щелчком по названию поля Сбор поместите его в верхнюю часть окна построителя выражений. Затем нажмите кнопку с косой чертой, обозначающую знак деления (она находится ниже вводимого выражения в ряду подобных кнопок). Дважды щелкните по полю Площадь, оно также будет отражено в выражении. У вас получится следующее:
Нажмите кнопку ОК. Выражение помещено в конструктор запроса. Перейдите в режим таблицы запроса, и вы увидите в нем вычисляемое поле Выражение 1:
Остается только дать этому полю информативное название и несколько изменить его формат, чтобы уменьшить разрядность чисел.
Вернитесь в режим конструктора запроса. Измените слово Выражение 1 на Урожайность (будьте осторожны, чтобы не повредить формулу). Вызовите для этого поля окно свойств, нажав кнопку Свойства (или вызвав одноименную команду из контекстного меню). Выберите из списка форматов поля Фиксированный, число десятичных знаков – 2;
Вернитесь в режим таблицы запроса, убедитесь, что все получилось правильно. Закройте запрос, назовите его Производство и урожайность овощей.
Самостоятельно сформируйте форму для просмотра всех полей запроса Производство и урожайность овощей. Присвойте ей такое же имя, как у запроса.
Создайте также более простой запрос Производство овощей в Южном ФО. Он будет построен на основе созданного запроса (в окне добавления таблицы следует перейти на вкладку Запросы). Включите в него следующие поля и условия отбора:
Сохраните запрос под указанным именем, выведите его для просмотра.
Теперь научимся создавать отчеты в Access. Для этого будем использовать встроенный Мастер отчетов. Сформируем отчет по запросу Производство и урожайность овощей, который будет включать информацию по производству овощей всеми регионами и федеральными округами РФ, сгруппированную по федеральным округам и отсортированную в округа по виду региона.
Перейдите в окне создания базы данных на вкладку Отчеты, выполните команду Создание отчета с помощью мастера.
В окне создания отчетов следует указать запрос Производство и урожайность овощей, затем переместить в раздел выбранных полей все поля этого запроса, кроме столбца Площадь(можно сначала выбрать все значком «>>», затем выделить Площадь и вернуть его обратно значком «<»). Далее добавим уровни группировки по полю Федеральный округ. Для этого его необходимо выделить в левой части списка и стрелочкой «>» поместить вправо. В следующем окне укажите, что по полю Тип региона необходимо произвести сортировку по убыванию. Нажмите на кнопку Итоги, укажите, что следует рассчитать средние показатели по полю Сбор (Avg поставить галочку). Нажмите ОК, затем – Далее. В следующем окне выберите вид макета для отчета (можно оставить «ступенчатый»), а также ориентацию страницы (книжная или альбомная), щелкните Далее.
Осталось только вписать имя отчета. Назовите его Производство и урожайность овощей в регионах и округах РФ, и все – нажмите Готово. Просмотрите свой отчет. Обратите внимание на удобство расположения данных и внешнюю привлекательность отчета.