Как сделать сумму в отчете access

Добавил пользователь Алексей Ф.
Обновлено: 04.10.2024

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

В любом отчете 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 существует физический порядок записей в таблице. Который определяет, что выше и что ниже. В реляционных БД такого порядка НЕ СУЩЕСТВУЕТ. Порядок определяется заданной в запросе сортировкой, и при ее отсутствии может быль ЛЮБЫМ.

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

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

В таблице имеется поле №заказа. Т.е. общий вид примерно такой:

№заказа | Наименование заказа | Сумма заказа |
1 | сумка | 10rur |
2 | krushka | 20rur |
3 | banka | 30rur |
. | . |***|

Теперь есть привязка? Или я опять чего то не понял. 🙁 Как найти общую сумму всех заказов?

Цитата (mivang @ 23.11.2007, 19:39 )
Теперь есть привязка?

SELECT Таблица1.[№ заказа],
Таблица1.[Наименование заказа],
Таблица1.[Сумма заказа],
Sum(q1.[Сумма заказа]) AS [Общая сумма всех заказов]

[
SELECT t1.[№ заказа],
t1.[Наименование заказа],
t1.[Сумма заказа],
t2.[№ заказа]
FROM Таблица1 AS t1,
Таблица1 AS t2
WHERE (((t1.[№ заказа])>=[t2].[№ заказа]))

INNER JOIN Таблица1

ON q1.t1.[№ заказа] = Таблица1.[№ заказа]

GROUP BY Таблица1.[№ заказа], Таблица1.[Наименование заказа], Таблица1.[Сумма заказа];

Выводится ошибка: Недопустимое использование скобок с именем ‘SELECT t1.[№ заказа’. :(( В чём проблема?

Предположим у нас имеется следующая таблица:

таблица: tblOrders
поле тип
idOrders Счетчик
fldName Текстовый
fldSumma Денежный

Тогда запрос будет примерно таким:

Sum-fldSumma это псевдоним выражения Sum(tblOrders.fldSumma). В итоге мы получаем таблицу с одной ячейкой. Вот для разъяснения написал пример кода на VS 2005, без обработки исключений, чтобы было понятнее.

Для начала нужно создать проект, и добавить туда кнопку GetSumButton и текстовое поле SumTextBox, то есть поменять их имена. Имя формы заменить на MainForm и заменить её код нижестоящим.

Чтобы пример заработал нужно в My Project >> Settings добавить строку с именем dbConnectionString следующего содержания Prov >

Правила составления выражений в Access мы уже описывали (см. разд. "Использование выражений в запросах" гл. 4). Поэтому здесь мы остановимся в первую очередь на вычисляемых полях формы и опишем, где они нужны и как их создать.

Внимание
Формулы для вычислений в Access записываются с помощью специального синтаксиса, который диктует правила записи формул и в выражениях Access и в процедурах на VBA. Этот синтаксис несколько отличается от принятого в математике, однако во многом на него похож и интуитивно понятен. Описание синтаксиса вычислительных формул приведено в разд. "Выражения в Access" гл. 4
.

Создание вычисляемых полей

Простейшим вычисляемым полем является поле, в котором должна выводиться текущая дата. Чтобы создать такое поле:

  1. Создайте свободный элемент управления типа Поле (Text Box) в нужном месте формы.
  2. Прямо в поле введите выражение =Date () . Знак равенства обязателен.
  3. Откройте окно Свойства (Properties) для этого элемента и задайте для свойства Формат поля (Format) желаемый формат даты, например Длинный формат даты (Long Date).
  4. Установите длину поля таким образом, чтобы в нем помещалось необходимое количество символов.
  5. Измените название метки этого текстового поля. Созданное поле будет выглядеть, как показано на рис. 9.47.

Рис. 9.47 . Вычисляемое поле

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

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

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

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


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

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

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


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

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


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


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

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

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

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

В этой статье

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Структура отчета в режиме Конструктора

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

Заголовок. Этот раздел печатается только в верхней части первой страницы отчета. Используется для вывода данных, таких как текст заголовка отчета, дата или констатирующая часть текста документа, которые следует напечатать один раз в начале отчета. Для добавления или удаления области заголовка отчета необходимо выбрать в меню Вид команду Заголовок/примечание отчета.

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

Область данных, расположенная между верхним и нижним колонтитулами страницы. Содержит основной текст отчета. В этом разделе появляются данные, распечатываемые для каждой из тех записей в таблице или запросе, на которых основан отчет. Для размещения в области данных элементов управления используют список полей и панель элементов. Чтобы скрыть область данных, нужно задать для свойства раздела Высота значение 0.

Нижний колонтитул. Этот раздел появляется в нижней части каждой страницы. Используется для вывода данных, таких как итоговые значения, даты или номера страницы, печатающихся снизу на каждой странице отчета.

Примечание. Используется для вывода данных, таких как текст заключения, общие итоговые значения или подпись, которые следует напечатать один раз в конце отчета. Несмотря на то, что в режиме Конструктора раздел "Примечание" отчета находится внизу отчета, он печатается над нижним колонтитулом страницы на последней странице отчета. Для добавления или удаления области примечаний отчета необходимо выбрать в меню Вид команду Заголовок/примечание отчета. Microsoft Access одновременно добавляет и удаляет области заголовка и примечаний отчета

Способы создания отчета

В Microsoft Access можно создавать отчеты различными способами:

Автоотчет: в столбец

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

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

В окне базы данных щелкнуть на вкладке Отчеты и затем щелкнуть на кнопке Создать. Появится диалоговое окно Новый отчет.

Выделить в списке пункт Автоотчет: в столбец или Автоотчет: ленточный.

В поле источника данных щелкнуть на стрелке и выбрать в качестве источника данных таблицу или запрос.

Щелкнуть на кнопке ОК.

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

При разработке макетов отчета руководствуйтесь следующей формулой: ширина отчета + левое поле + правое поле

Форт Софт

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

Как использовать Алиэкспресс с максимальной выгодой

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

Как подать объявление на Юле

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

Как попасть в админ панель WordPress

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

Wordpress админ. Админка Wordpress. Как войди в админку Wordpress? Как восстановить пароль к админке Wordpress

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

Как зайти в админку WordPress и произвести самые важные настройки

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

Придумка не моя, просто нашел в И-нете модуль на VBA, попробовал, работает. Где нашел, уже не помню поэтому, как порядочный человек, ссылочку поставить не могу. Если кто узнает свое творчество, пишите, ссылку размещу. В самом модуле ничего не менял, в т.ч. и авторский комментарий. Содержимое модуля в текстовом формате можно скачать здесь. Создать пустой модуль в Access и скопировать туда.

Не сразу получилось подключить модуль к отчету, однако немного помучавшись сделал так.

рисунок

В поле, где надо вывести сумму прописью вставляем функцию

=ProperWord(NumberTOstring([Поле83]))

[Поле83] - это поле в котором находится числовое значение суммы.

Читайте также: