Вычисления в отчетах access. Создание отчётов в Microsoft Access. Чтобы распечатать отчет

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

Чтобы добавить к отчету вычисляемое поле "Сумма":

  1. Откройте отчет "Товары на складе" в режиме Конструктора.
  2. На панели элементов нажмите кнопку Надпись (Label) и поместите новую надпись справа от надписи "На складе" (Units in Stock) в разделе верхнего колонтитула. Введите в качестве текста надписи слово "Сумма" (Sum).
  3. Чтобы создать вычисляемое поле "Сумма" (Sum), нажмите кнопку Поле (Text Box) на панели элементов и добавьте текстовое поле справа от текстового поля "НаСкладе" (UnitsInStock) в разделе данных. Удалите метку нового текстового поля.
  4. Щелкните внутри текстового поля и введите в качестве его значения выражение:

    = [НаСкладе]* [Цена] (= * ).

    Откройте окно свойств поля, дважды щелкнув по нему, и на вкладке Макет (Format) в поле со списком свойства Формат поля (Format) выберите значение Денежный (Currency).

Замечание

Ввести выражение в текстовое поле можно несколькими способами: выделите его и нажмите комбинацию клавиш +, чтобы войти в режим редактирования содержимого поля, или сделайте двойной щелчок по полю для отображения диалогового окна Свойства (Properties), а затем введите выражение как значение свойства Данные (Source).

Рис. 6.27.

  1. Повторите шаги 3 и 4 для того, чтобы создать текстовое поле в разделе примечаний группы "Категория" (Category), но в качестве выражения для вычисления промежуточного значения следует ввести: =Sum([НаСкладе] * [Цена]) (=Sum( * )). Нажмите кнопку Полужирный (Bold) на панели форматирования, чтобы установить полужирный шрифт для текста в новом поле. Откройте диалоговое окно Свойства (Properties) и раскройте в нем вкладку Другие (Other), в поле Имя (Name) введите имя текстового поля "Сумма" (Sum). Затем раскройте вкладку Макет (Format) и в поле со списком свойства Формат поля (Format) выберите значение Денежный (Currency).
  2. Поскольку ширина области данных нашего отчета увеличилась, уменьшите ширину полей страницы, чтобы все поля поместились на одной странице. Для этого выберите команду Файл, Параметры страницы (File, Page Setup) и задайте вместо ширины левого и правого полей, заданных по умолчанию, значение 10 мм (см. разд. "Просмотр и печать отчетов" в этой главе).
  3. Нажмите кнопку Вид (View) на панели инструментов Конструктор отчетов (Report Design), чтобы оценить результаты своей работы. Отчет будет выглядеть так, как показано на рис. 6.27. К прежним данным добавился крайний правый столбец со значениями стоимости каждого товара в имеющемся количестве на складе и промежуточных итоговых сумм по стоимости товаров для каждой категории.

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

В этой статье

Типы агрегатов, которые можно добавить в отчет

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

Вычисление

Описание

Функция

Суммирует элементы в столбце.

Определяет среднее значение всех элементов столбца.

Подсчитывает количество элементов в столбце.

Максимальное значение

Возвращает элемент, имеющий наибольшее (числовое или по алфавиту) значение в столбце.

Минимальное значение

Возвращает элемент, имеющий наименьшее (числовое или по алфавиту) значение в столбце.

Стандартное отклонение

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

Дисперсия

Вычисляет дисперсию для всех значений в столбце.

Добавление суммы или другого агрегата в режиме макета

Режим макета предоставляет наиболее быстрый способ добавления сумм, средних значений и других агрегатов в отчет.

Данные (Control Source) выражение, которое выполняет нужное вычисление. Если в отчете есть уровни группировки, Access также добавит текстовое поле, которое выполняет такие же вычисления в каждом разделе примечания группы.

Дополнительные сведения о создании уровней группировки в отчетах см. в статье Создание отчета с группировкой или сводного отчета .

Добавление суммы или другого агрегата в режиме конструктора

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

Access добавляет текстовое поле в колонтитул отчета и задает в качестве значения его свойства Данные (Control Source) выражение, которое выполняет нужное вычисление. Если в отчете есть уровни группировки, Access также добавит текстовое поле, которое выполняет такие же вычисления в каждом разделе примечания группы. Если для свойства Сумма с накоплением (Running Sum) задано значение Для всего , то общее итоговое значение можно повторить в колонтитуле отчета. Создайте в нем поле и задайте в качестве значения его свойства Данные (Control Source) имя поля, в котором вычисляется сумма с накоплением, например =[СуммаЗаказа] .

Создание отчетов

Отчеты дают вам возможность представить компоненты вашей базы данных в удобном для чтения формате для печати. Access 2010 позволяет создавать отчеты из таблиц и запросов.

Чтобы создать отчет:

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

Удаление полей

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

Чтобы удалить поле в отчете:

  1. Щелкните любую ячейку в поле, которое вы хотите удалить.
  2. Нажмите клавишу «Удалить».

Когда вы удаляете поле, обязательно удалите его заголовок. Просто выберите заголовок и нажмите клавишу «Удалить».

Печать и сохранение отчетов в режиме предварительного просмотра

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


Чтобы распечатать отчет:

Сохранение отчетов

Вы можете сохранять отчеты в других форматах, чтобы они могли отображаться вне Access. Это называется экспорт файла, и он позволяет просматривать и даже изменять отчеты в других форматах и программах.

Access предлагает варианты сохранения отчета в виде файла Excel, текстового файла, PDF, файла XPS, вложения электронной почты, текстового файла или HTML-документа. Поэкспериментируйте с различными вариантами экспорта, чтобы найти тот, который наилучшим образом соответствует вашим потребностям.

Известно, что вычисляемые поля в базе данных Access 2003 используются для различных целей, в том числе и для проведения расчетов. Вычисляемые поля в Microsoft Access 2003 могут быть созданы как в запросе и форме, так и в отчете. Рассмотрим создание вычисляемых полей в отчете базы данных Access 2003. Для ввода выражения в отчете необходимо открыть отчет в режиме Конструктора и создать свободное текстовое поле, используя кнопку "ab " (Поле) на панели инструментов.

В свободное поле можно вводить выражение для выполнения вычислений, в этом случае оно становится вычисляемым. В вычисляемых полях можно использовать функции, а можно ввести выражение, использующее в качестве входных данных значения полей таблиц БД Access. Кроме того, в отчет можно вставить автономную текстовую метку, т.е. метку не связанную с текстовым полем, используя кнопку "Aa " (Надпись) на панели инструментов. "Надпись" используется для ввода какого-либо имени или чисел.

Рассмотрим создание вычисляемого поля в отчете Успеваемость на примере базы данных Training_students_O . Постановка задачи следующая: в отчете БД Access Успеваемость создать одно поле, в котором должна выводиться 100-бальная оценка, и другое поле, в которое должно выводиться текущее время. Для решения этой задачи откроем отчет Успеваемость в режиме конструктора (рис. 1).


Рис. 1.

Для создания вычисляемого поля в отчете Успеваемость, необходимо выполнить следующие действия:

1. Нажать кнопку "ab " (Поле) на панели инструментов, а затем щелкнуть на отчете Успеваемость в "Области данных" в том месте, где планируется вставить свободное (вычисляемое) поле;

2. Удалить метку (в нашем случае Поле 30), которая вставляется вместе со свободным полем (слева от свободного поля), а затем установить курсор в поле "Свободный" (рис. 2) и ввести выражение (для отображения 100-бальной оценки в отчете): =([Оценка])*20. В этом случае Свободное поле стало вычисляемым. Для ввода функций или выражений можно также использовать построитель выражений (кнопка "Построитель" на панели инструментов);



Рис. 2.

3. Нажать кнопку "Aa " (Надпись) на панели инструментов, а затем щелкнуть на отчете Успеваемость в области "Верхний колонтитул " в том месте, где планируется вставить метку "Надпись": 100-бальная оценка;

4. Установить курсор в метку и ввести текст: 100-бал. оценка (рис. 3);



Рис. 3.

5. Перейти в режим просмотра, выполнив щелчок по кнопке "Просмотр" (рис. 4), в отчете БД Access 2003 появились оценки по 100-бальной системе.



Рис. 4.

Для создания в области нижнего колонтитула отчета Access вычисляемого поля, отображающего текущее время, необходимо выполнить следующие действия:

6. Нажать кнопку "ab " (Поле) на панели инструментов, а затем щелкнуть на отчете в области "Нижний колонтитул" в том месте, где планируется вставить свободное текстовое поле для функции "Текущее время";

7. Удалить метку (в нашем случае Поле 31), а затем установить курсор в поле "Свободный" (рис. 5) и ввести функцию: =Time();



Рис. 5.

8. Для ввода функции =Time() в поле "Свободный" можно также использовать построитель выражений (вместо выполнения операции в предыдущем пункте), для этого необходимо щелкнуть на панели инструментов на пиктограмме "Построитель", откроется окно Построитель, в котором надо выделить "выражение" (рисунок 6), и щелкнуть ОК;

Практическая работа № 16

Создание запросов Access в режиме конструктора. Запросы на выборку. Вычисляемые поля в запросах.

Создание отчетов Access. Мастер отчетов. Работа с отчетом в режиме конструктора.

1. Откройте БД Student, созданную в практической работе 15.

2. Войдите в режим конструктора запросов: на вкладке Создание в группе «Запросы» выберите кнопку «Конструктор запросов». В конструкторе запросы создаются вручную. Источником данных для запроса могут быть одна или несколько таблиц или запросов. Добавьте таблицу Студенты как источник данных. Изучите окно бланка запроса и инструментарий. Источники данных отображены в верхней части бланка запроса. Нижняя часть бланка предназначена:

· для задания полей, отображаемых в запросе (строка Поле и строка Имя таблицы);

· для задания способа упорядочения данных в запросе (строка Сортировка);

· для задания условий отбора (строки Условие отбора);

· для задания способа группировки данных в запросе;

· для задания вычисляемых выражений в полях запроса.

3. Включите в запрос все поля таблицы Студенты . Включите сортировку по фамилии и запустите запрос на выполнение (кнопка в панели инструментов).

При сохранении задайте имя Макет запроса . В запросе будут отображены все данные исходной таблицы. Просмотрите запрос.

4. Запросы на выборку . Создайте запросы на выборку. Построение каждого нового запроса выполняется в конструкторе (как в пункте 3). Макет можно также многократно копировать, сохраняя каждый запрос с именем, отражающим содержание запроса. Задайте по очереди Условия отбора, указанные ниже, просмотрите результаты построенных запросов, и сохраните каждый из них под соответствующими именами. Итак, выберите:

· Студентов, фамилии которых начинаются на первые буквы алфавита (Like "[А-И]*") (имя Первые );

· Студентов, которые учатся в одной группе (имя Группа );

· Студентов, кроме тех, кто учится в определенной группе (например, Not И-105) (имя Кроме группы ).

5. Запросы на выборку с логическими операциями . Создайте запросы на выборку наложением условий на поля оценок за экзамены. Источником данных для запросов будут таблицы Студенты и Сессия . Сохраните с указанными именами. Итак, выберите:

· студентов только на отлично (имя Отличники ).

· студентов на хорошо и отлично (4 Or 5) (имя Четыре и пять ).

· студентов, имеющих хотя бы одну тройку (имя Троечники ).

6. Запросы на выборку с параметром . Если вместо условия отбора в строке задать текстовое приглашение на ввод, заключенное в квадратные скобки, например [Введите фамилию], то при запуске запроса можно будет задать параметр. Параметр - это любое значение, по которому будут отыскиваться все записи с указанным значением поля (в примере это фамилия). В новых запросах выполните выборку по значению параметров:

· По фамилии студента (имя Фамилия ).

· По коду студента (Имя Код ).

7. Обратите внимание, что при поиске с параметром используется точное соответствие значению параметра.

8. Вычисляемые поля в запросе . В новом запросе:

· Вычисляемое поле с названием Средний балл для вычисления среднего балла каждого студента:

Имя запроса – Средний балл .

· Вычисляемое поле с названием Сумма баллов для вычисления суммы баллов каждого студента. Имя запроса – Сумма баллов .

9. Групповые операции в запросах . Группировка включается кнопкой на вкладке «Работа с запросами » - «Конструктор » (Групповые операции). В строке бланка «Групповые операции» можно задать поля, по которым выполняется группировка, и функции, которые называются групповыми и используются для подведения итогов по группе данных. Ознакомьтесь с перечнем групповых функций.

· Найдите средние оценки по предметам для каждой группы. В запрос должны быть включены поля Группа и Экамен1, Экзамен2, Экзамен3. Поле фамилии в этом запросе не нужно! Используйте группировку в поле Групповая операция и групповую функцию Avg() во всех полях оценок. Сохраните с именем Средние по группам .

· Найдите средние оценки по предметам для всего контингента студентов. В этот запрос включите только поля оценок с группировкой функцией Avg() во всех полях оценок. Сохраните с именем Средние по предметам .

10. Отчеты предназначены для отображения данных из таблиц и запросов базы данных в «бумажном» варианте. Отличаются от форм тем, что позволяют легко выполнить группировку данных и подведение итогов.

11. Создание отчетов с использованием мастеров . На вкладке Создание в группе «Отчеты » выберите Мастер отчетов . Выберите источником данных таблицу Студенты . Выберите для включения в запрос поля Группа, Фамилия, Имя, Адрес, Телефон в указанном порядке. Не добавляя уровни группировки, отсортируйте поля по возрастанию номера группы, затем по возрастанию фамилии, затем имени. Выберите макет Табличный, любой стиль, задайте имя Студенты .

12. Отчет открывается в режиме просмотра. Обратите внимание на содержание вкладки просмотра (она называется «Предварительный просмотр»).

13. Войдите в режим конструктора отчетов, ознакомьтесь с содержанием бланка отчета. Найдите области заголовков, примечаний, колонтитулов. Обратите внимание, что появились вкладки инструментов конструктора отчетов. Создание отчета аналогично созданию форм. В области заголовка располагается общий заголовок отчета, в верхнем колонтитуле – заголовки полей, они будут повторены на каждой странице отчета. В области нижнего колонтитула – текущая дата и номера страниц отчета, они тоже будут повторены на каждой странице. Посмотрите, какого типа эти элементы. Для заголовков используется элемент Надпись , для отображения данных элемент Поле . Элемент Линия отделяет область верхнего колонтитула.

14. Группировка данных . Для объединения записей в группы используется команда Группировка на вкладке «Инструменты конструктора отчетов - Конструктор ». В отчете Студенты записи о студентах должны быть сгруппированы по номерам групп. Используйте группировку, чтобы добавить в отчет область Заголовок группы для номеров групп, и задайте порядок сортировки по возрастанию. Перенесите в область Заголовок группы надпись Группа из верхнего колонтитула, и поле Группа из области данных. Отделите тонкой линией сверху данные о различных группах.

15. Просмотрите результат в режиме просмотра.

16. Создание отчетов с использованием мастеров. Группировка данных . Используйте Мастер отчетов для построения отчета для таблиц Студенты и Сессия . Выберите для включения в запрос поля Группа, Фамилия, Имя, и оценки за три экзамена. Добавьте уровень группировки (по группе), отсортируйте по возрастанию фамилии, затем имена. Выберите макет Ступенчатый , любой стиль, задайте имя Сессия.