- В этой статье
- Типы агрегатов, которые можно добавить в отчет
- Добавление суммы или другого агрегата в режиме макета
- Добавление суммы или другого агрегата в режиме конструктора
- Вычисление сумм с накоплением (сумм с нарастающим итогом)
- Создание суммы с накоплением
- Сводка
- Дополнительные сведения
- Способ 1
- Способ 2
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
В любом отчете Access, содержащем числа, можно использовать итоги, средние значения, проценты или суммы с накоплением, чтобы сделать данные более понятными. В этой статье рассказывается, как добавить такие элементы в отчет.
В этой статье
Типы агрегатов, которые можно добавить в отчет
В следующей таблице приведены типы агрегатных функций в Access, которые можно добавить в отчет.
Суммирует элементы в столбце.
Определяет среднее значение всех элементов столбца.
Подсчитывает количество элементов в столбце.
Возвращает элемент, имеющий наибольшее (числовое или по алфавиту) значение в столбце.
Возвращает элемент, имеющий наименьшее (числовое или по алфавиту) значение в столбце.
Показывает, насколько значения в столбце отклоняются от среднего значения.
Вычисляет дисперсию для всех значений в столбце.
Добавление суммы или другого агрегата в режиме макета
Режим макета предоставляет наиболее быстрый способ добавления сумм, средних значений и других агрегатов в отчет.
В области навигации щелкните отчет правой кнопкой мыши и выберите команду Макет.
Щелкните поле, для которого вы хотите добавить агрегатное выражение. Например, если необходимо добавить сумму в столбец чисел, щелкните одно из чисел в этом столбце.
На вкладке Конструктор в группе Группировка и итоги щелкните Итоги.
Выберите тип агрегатной функции, которую вы хотите добавить в поле.
Access добавляет текстовое поле в колонтитул отчета и задает в качестве значения его свойства Данные (Control Source) выражение, которое выполняет нужное вычисление. Если в отчете есть уровни группировки, Access также добавит текстовое поле, которое выполняет такие же вычисления в каждом разделе примечания группы.
Дополнительные сведения о создании уровней группировки в отчетах см. в статье Создание отчета с группировкой или сводного отчета.
Добавление суммы или другого агрегата в режиме конструктора
Конструктор позволяет точнее настраивать размещение и внешний вид итоговых значений. В сгруппированных отчетах можно поместить итоги и другие агрегаты в заголовок или примечание каждой группы. Агрегаты уровня отчета можно поместить в заголовок или колонтитул отчета.
В области навигации щелкните отчет правой кнопкой мыши и выберите команду Режим конструктора.
Щелкните поле, для которого вы хотите добавить агрегатное выражение. Например, если необходимо добавить сумму в столбец чисел, щелкните одно из чисел в этом столбце.
На вкладке Конструктор в группе Группировка и итоги щелкните Итоги.
Выберите тип агрегатной функции, которую вы хотите добавить в поле.
Access добавляет текстовое поле в колонтитул отчета и задает в качестве значения его свойства Данные (Control Source) выражение, которое выполняет нужное вычисление. Если в отчете есть уровни группировки, Access также добавит текстовое поле, которое выполняет такие же вычисления в каждом разделе примечания группы.
Дополнительные сведения о создании уровней группировки в отчетах см. в статье Создание отчета с группировкой или сводного отчета.
Вычисление сумм с накоплением (сумм с нарастающим итогом)
В Access можно создавать в отчетах суммы с накоплением. Сумма с накоплением — это сумма значений из всех записей группы или даже отчета.
Создание суммы с накоплением
В области навигации щелкните отчет правой кнопкой мыши и выберите команду конструктор .
На вкладке Конструктор в группе Элементы управления щелкните Поле.
Щелкните раздел подробностей, заголовок или примечание группы, чтобы создать текстовое поле.
Если рядом с текстовым полем отображается подпись, удалите ее или замените текст в ней на более осмысленный.
Выделите текстовое поле. Если страница свойств не отображается, нажмите клавишу F4.
Откройте вкладку Данные. В ячейке свойства Данные (Control Source) введите имя поля или выражение, для которого вы хотите создать сумму с накоплением.
Например введите РасширеннаяЦена для поля "РасширеннаяЦена" или на уровне группы введите выражение =Sum([РасширеннаяЦена]).
Щелкните ячейку свойства Сумма с накоплением (Running Sum).
Щелкните стрелку раскрывающегося списка в поле свойства и выполните одно из указанных ниже действий.
Если вы хотите, чтобы сумма обнулялась при достижении следующего уровня группировки, выберите в списке Для группы.
Если вы хотите, чтобы сумма накапливалась до конца отчета, выберите в списке Для всего.
Закройте страницу свойств.
Примечание: Если для свойства Сумма с накоплением (Running Sum) задано значение Для всего, то общее итоговое значение можно повторить в колонтитуле отчета. Создайте в нем поле и задайте в качестве значения его свойства Данные (Control Source) имя поля, в котором вычисляется сумма с накоплением, например =[СуммаЗаказа].
Advanced: требуется написание экспертов, взаимодействие и многоязыковые навыки.
Эта статья относится к файлу базы данных Microsoft Access (. mdb) или к файлу базы данных Microsoft Access (ACCDB).
Сводка
В этой статье описываются два метода, которые можно использовать для создания запроса итогов с накоплением. Итоговый запрос итогов — это запрос, в котором итоговое значение каждой записи является суммированием этой записи и всех предыдущих записей. Этот тип запроса полезен для отображения совокупных итогов для группы записей (или за период времени) на графике или отчете.
Note (Примечание ) Вы видите демонстрацию методики, используемой в этой статье, в примере файла QrySmp00. exe.
Дополнительные сведения
Способ 1
Первый метод использует функцию DSum и условия в запросе для создания суммы с накоплением с течением времени. Функция DSum суммирует текущую запись и все предыдущие записи. Когда запрос перемещается на следующую запись, функция DSum выполняется снова и обновляет общий итог.
Следующий пример запроса использует таблицу Orders из учебной базы данных Northwind для создания суммы стоимости доставки за каждый месяц 1997. В целях повышения производительности примеры данных ограничены одним годом. Так как функция DSum выполняется один раз для каждой записи в запросе, для завершения обработки запроса может потребоваться несколько секунд (в зависимости от скорости компьютера). Чтобы создать и запустить этот запрос, выполните указанные ниже действия.
Откройте учебную базу данных Northwind.
Создайте новый запрос на выборку и добавьте таблицу Orders .
В меню вид выберите пункт итоги.
Note (Примечание ) В Access 2007 щелкните итоги в группе Показать/скрыть на вкладке конструктор .
В первом столбце бланка запроса введите следующее выражение в поле поле и выберите следующие значения для полей "Итого", "Сортировать" и "Показать":
В выражении в поле поле отображается и сортируется часть года поля OrderDate.
Во втором столбце бланка запроса введите в поле поле следующее выражение и выберите следующие параметры для полей "Итого", "Сортировать" и "Показать":
Выражение в поле поля сортирует и отображает часть месяца поля Дата заказа в виде целого значения от 1 до 12.
В третьем столбце бланка запроса введите в поле поле следующее выражение, а для полей Итого и Show выберите следующие параметры.
Note (Примечание ) В следующем примере знак подчеркивания (_) в конце строки используется в качестве символа продолжения строки. При повторном создании этого примера удалите знак подчеркивания в конце строки.
Выражение в поле поле использует функцию DSum () для суммирования поля фрахта, если значения в полях Амонс и Айеар меньше или равны текущей записи, обрабатываемой запросом.
В четвертом столбце бланка запроса введите следующее выражение в поле поле и выберите следующие значения для полей "Итого", "Сортировать" и "Показать":
Выражение в поле поля отображает каждый месяц в текстовом формате, например Январь, фев, Мар и т. д.
В столбце пятый в бланке запроса введите следующее выражение в поле поле и выберите следующие значения для полей "Итого", "условия" и "Показать":
Выражение в поле поля фильтрует набор записей запроса, чтобы включить данные только из 1997.
Выполните запрос. Обратите внимание, что в поле Рунтот отображаются следующие записи с накопленной суммой:
Способ 2
Второй метод использует итоговый запрос с функцией DSum () для создания итоговой суммы по группе.
Приведенный ниже пример запроса использует таблицу "заказы" для суммирования затрат на фрахт для каждого сотрудника, а также для расчета скользящей суммы фрахта. Чтобы создать и запустить запрос, выполните указанные ниже действия.
Откройте учебную базу данных Northwind. mdb.
Создайте новый запрос на выборку и добавьте таблицу Orders.
В Виевмену щелкните итоги.
Note (Примечание ) В Access 2007 щелкните итоги в группе Показать/скрыть на вкладке конструктор .
В первом столбце бланка запроса добавьте следующее поле в поле поле и выберите следующие параметры для полей "Итого" и "Показать":
В этом поле данные группируются по КодСотрудника.
Во втором столбце бланка запроса добавьте следующее поле в поле поле и выберите следующие параметры для полей "Итого" и "Показать":
Это поле суммирует данные доставки.
В третьем столбце бланка запроса введите в поле поле следующее выражение, а для полей Итого и Show выберите следующие параметры.
Note (Примечание ) В следующем примере знак подчеркивания (_) в конце строки используется в качестве символа продолжения строки. При повторном создании этого примера удалите знак подчеркивания в конце строки.
Выражение в поле поле использует функцию DSum () для суммирования поля фрахта, когда EmployeeID меньше текущего Емпалиас, а затем форматирует поле в долларах.
Выполните запрос. Обратите внимание, что в поле Рунтот отображаются следующие записи с накопленной суммой:
Люди! Помогите сделать простейший запрос.
Имеется таблица: Таблица1 формата:
Наименование заказа | Сумма | Общая сумма всех заказов
первый 10р.
второй 20р.
третий 30р.
Скажите как мне сложить строки в столбце Сумма? Чтобы вывести результат "Общая сумма всех заказов" = 60р.
И таблица со временем будет дописываться. т.е. появится и 100й заказ. соответственно у 100го заказа своя сумма. Надо чтоб "Общая сумма всех заказов" пересчитывалась автоматически.
Заранее спасибо за помощь.
По указанным данным это невозможно.
Чем определяется сортировка строк в таблице?
Цитата (Akina @ 23.11.2007, 17:51) |
По указанным данным это невозможно. |
Чем определяется сортировка строк в таблице?
Вот в Excel это ведь просто делается. К примеру команда =СУММ(A1:A100) — т.е. получим суммы по 100 ячейкам таблице.
Почему же в БД такого не сделать?
Каждому наименованию заказа(текст) соответствует соответствующийц номер(число). Собственно эти числа(номера заказов) идут по порядку. Т.е. пример:
1 | сумка | 100р. |
2 | покрышка | 50р. |
.
100 | книга | 60р. |
.
Как мне посчитать общую сумму всех заказов(1. 100. )?
mivang, В Excel существует физический порядок записей в таблице. Который определяет, что выше и что ниже. В реляционных БД такого порядка НЕ СУЩЕСТВУЕТ. Порядок определяется заданной в запросе сортировкой, и при ее отсутствии может быль ЛЮБЫМ.
Хотите чтобы вопрос имел смысл — четко укажите критерий, на основе которого можно устновить порядок следования записей. В проведенном примере это, например, номер строки. Однако в структуре показанной таблицы такого поля нет.
Цитата |
Цитата (mivang @ 23.11.2007, 19:39 ![]() |
Теперь есть привязка? |
Цитата |