Как сделать сумму в запросе access?

Sort by

Microsoft Access № 72: вычисление суммы в таблицах, запросах, формах и отчётах AccessАндрей Домостой

Year ago

Как создать вычисляемые поля суммы в таблицах, запросах, формах и отчётах Access? КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗА…

Урок 7 Access.Запросы Часть 5 Вычисления и функцииMoodle Donguu

3 years ago

«сумма прописью» база Microsoft AccessИльин Александр

5 months ago

База данных «сумма прописью от 0 до 999 999 999 999» содержит 1 форму, 2 таблицы, 45 макросов. Все объекты можно вставит…

Microsoft Access № 31: суммирование в Access значений многозначного поля со спискомАндрей Домостой

Year ago

Как суммировать в Access все выбранные значения многозначного поля со списком ? КУПИТЬ ВИДЕОКУРС ИЛИ ЗАКАЗАТ…

SQL: Агрегатные функции SUM, AVG, COUNT, MIN, MAX в запросах AccessУроки по Microsoft Access

Year ago

Если вы не знаете как создать SQL-запросы в базе данных Microsoft Access, то посмотрите это видео. На примере стандарт…

Как создать запросы в Microsoft Access за 10 минутУроки по Microsoft Access

3 years ago

Узнайте, как легко и быстро создать базу данных Access — accesshelp.ru/category/uroki/ Если вы не знаете как создать…

Как связать таблицы в базе данных Microsoft Access 2016Уроки по Microsoft Access

Year ago

Если вы не знаете как создать базу данных в программе Microsoft Access 2016, то посмотрите это видео. Всего за 6 уроков…

51 Вычисление итоговTeachProTube

5 years ago

Смотрите полную версию курса Microsoft Access 2010 здесь: teachpro.ru/Course/Access2010?utm_source=youtube&utm_campaign=Access2010 …

Microsoft Access № 40: функция Access с несколькими аргументамиАндрей Домостой

3 years ago

Как использовать функцию VBA Access с несколькими аргументами (параметрами)? КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ…

Как создать отчеты в Microsoft Access за 10 минутУроки по Microsoft Access

3 years ago

Узнайте, как легко и быстро создать базу данных Access — accesshelp.ru/category/uroki/ Готовые базы Access: 7108.ru/g0203 Если…

Как посчитать возраст в базе данных AccessУроки по Microsoft Access

11 months ago

Если вы не знаете, как посчитать возраст в базе данных Microsoft Access, то посмотрите это видео. На простом запросе…

Microsoft Access № 13: автоматическое заполнение поля макросом данных AccessАндрей Домостой

3 years ago

Как при помощи макроса данных Access автоматически задать значение логического поля (женский или мужской…

Как сбросить значения поля счетчика в базе Access (3 ПРОСТЫХ способа)Уроки по Microsoft Access

11 months ago

Если вы не знаете, как сбросить значения поля счетчика в базе данных Microsoft Access, то посмотрите это видео. В…

9.2. Вычисление итогов Microsoft Access 2010.Dmitrii Dmitrii

Year ago

Раздел 9. Анализ данных с помощью запросов. Запросы к базам данных Microsoft Access 2010.

База данных в Access — учет товаров на складеMix Fix

4 years ago

Создание базы данных «Список учета товаров на складе» Помощь каналу и автору R408413163597 Моя партнерская прогр…

Как быстро создать ПЕРЕКРЕСТНЫЙ запрос в базе данных Microsoft AccessУроки по Microsoft Access

11 months ago

Если вы не знаете как создать перекрестный запрос в программе Microsoft Access, то посмотрите это видео. Продолжаем…

3.10 Вычисляемые поля Microsoft Access 2010.Dmitrii Dmitrii

2 years ago

Раздел 3. Создание базы данных и работа с таблицами. Основы системы управления базами данных Microsoft Access 2010.

Microsoft Access № 78: создание двухуровневых подчинённых форм в AccessАндрей Домостой

3 months ago

Как создать двухуровневые подчинённые формы в Access? КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ: goo.gl/zgcfyg ВКонта…

Как сделать отчеты в базе данных Microsoft Access 2016Уроки по Microsoft Access

Year ago

Если вы не знаете как создать базу данных в программе Microsoft Access 2016, то посмотрите это видео. Всего за 6 уроков…

73 Общая структура отчета в AccessСИЛА ЗНАНИЯ

8 months ago

7.1 Вычисления Microsoft Access 2010.Dmitrii Dmitrii

2 years ago

Раздел 7. Вычисления в запросах. Запросы к базам данных Microsoft Access 2010.

Microsoft Access № 77: применение составного индекса в AccessАндрей Домостой

10 months ago

Установим в таблице Access проверку уникальности по четырём полям при помощи составного индекса Access. КУПИТЬ…

Урок 8 Access ОтчетыMoodle Donguu

3 years ago

Microsoft Access № 22: сортировка и группировка в отчётах Access (1)Андрей Домостой

3 years ago

Как задать сортировку и группировку в отчётах Access? КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ: goo.gl/zgcfyg ВКонтак…

Microsoft Access № 64: запрос с параметром AccessАндрей Домостой

8 months ago

Что такое запрос с параметром в базе Microsoft Access? КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ: goo.gl/zgcfyg ВКонтакте:…

Сортировка и группировка данных с итогами в отчетах AccessУроки по Microsoft Access

2 months ago

Если вы не знаете, как построить отчет с группировкой в базе данных Microsoft Access, то посмотрите это видео. На…

9.5. Итоги в сводных таблицах Microsoft Access 2010.Dmitrii Dmitrii

Year ago

Раздел 9. Анализ данных с помощью запросов. Запросы к базам данных Microsoft Access 2010.

Экспорт отчетов Access в Excel и WordУроки по Microsoft Access

2 months ago

Если вы не знаете, как перенести отчет из базы данных Microsoft Access, то посмотрите это видео. На простых примерах…

Microsoft Access № 80: установка часов на форме AccessАндрей Домостой

Month ago

5 способов добавления текущего времени на форму Access и в строку состояния Access. КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТ…

Конструктор отчетов в базе данных Microsoft AccessУроки по Microsoft Access

6 months ago

Если вы не знаете, как построить отчет с помощью конструктора в базе данных Microsoft Access, то посмотрите это…

Как сделать нумерацию строк в отчете AccessУроки по Microsoft Access

11 months ago

Если вы не знаете, как сделать нумерацию строк в отчете базы данных Microsoft Access, то посмотрите это видео. Убеди…

25 Копирование таблиц в AccessСИЛА ЗНАНИЯ

8 months ago

Microsoft Access № 74: как узнать количество работников (записей) в списке AccessАндрей Домостой

Year ago

Как узнать, сколько записей (расчёт количества работников) содержится в списке Access? КУПИТЬ ВИДЕОКУРСЫ ИЛИ…

1.6 часть — Вычисляемое поле «Сумма»GTIFEMBI

2 years ago

Установка сумма прописьюАндрей Панферов

10 months ago

SQL. SUM() OVER. Сумма накопленным итогом и общая сумма по полю.Александр Крысин

10 months ago

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

3.11 Проверка полей Microsoft Access 2010.Dmitrii Dmitrii

2 years ago

Раздел 3. Создание базы данных и работа с таблицами. Основы системы управления базами данных Microsoft Access 2010.

Поиск повторяющихся записей в запросах AccessУроки по Microsoft Access

Year ago

Узнайте, как найти повторяющиеся данные в Access с помощью запроса. Продолжаем работать с базой данных Access…

Создание запросов в СУБД Access 2013 (запрос на выборку, создание таблицы и удаление)Vitaliy Melnikov

8 months ago

Исходный файл БД Movies можно скачать по ссылке ниже! В этом видео демонстрируются примеры создания 3 видов…

SQL: создаем запросы на выборку (SELECT) в Microsoft AccessУроки по Microsoft Access

Year ago

Если вы не знаете как создать SQL-запросы в базе данных Microsoft Access, то посмотрите это видео. На примере стандарт…

Как создать таблицы в Microsoft Access за 8 минутУроки по Microsoft Access

3 years ago

Узнайте, как легко и быстро создать базу данных Access — accesshelp.ru/category/uroki/ Готовые базы Access: 7108.ru/g0203 Если…

бд Риэлторская контора accessDB Access

Year ago

База данных «Риэлторская контора» описана на сайте …

Создание отчета в Access с помощью мастераУроки по Microsoft Access

6 months ago

Если вы не знаете как создать отчет в Access с помощью мастера, то посмотрите это видео. В этом уроке поговорим…

Запрос с выпадающим списком в базе данных AccessУроки по Microsoft Access

9 months ago

Если вы не знаете как создать параметрический запрос с выпадающим списком в базе данных Access, то посмотрите…

Microsoft Access № 67: решение проблемы форматирования в отчёте AccessАндрей Домостой

5 years ago

Когда нас может выручить режим макета при работе с отчётом Access. КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ: goo.g…

Вычисление суммыАнастасия Трубицына

3 years ago

44 Определение связей в AccessСИЛА ЗНАНИЯ

8 months ago

Как в ворде вставить формулу суммыСайт Helpadmins

Year ago

Смотрим как в ворде 2010 вставить формулу и посчитать сумму в таблице helpadmins.ru/kak-v-vorde-poschitat-summu-v-tablice/

Сумма прописью в ExcelВиталий Б

Year ago

Скачать надстройку можно по ссылке; drive.google.com/open?id=0B3A8_z_zeZ7Bei1NbDAySDJGNjA.

Консолидация (сборка) данных из нескольких таблиц в ExcelNikolay Pavlov

5 years ago

Как собрать данные из нескольких таблиц (одинаковых или не очень) в один итоговый отчет в Excel. Подробно и…

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

Вместо строки Групповая операция (Totals) в бланке запроса Конструктора запросов в проекте присутствует столбец Группировка (Group by). По умолчанию этот столбец скрыт. Для того чтобы вывести его на экран, нужно нажать кнопку Группировка (Group By) на панели инструментов. Столбец Группировка (Group by) добавляется в бланк представления, и для всех полей, включенных в представление, этому полю присваивается значение Группировка (Group by). Можно затем в отдельных строках заменить значение (Group by) необходимыми статистическими функциями (сумма — Sum, среднее — Avg, число значений — Count и т. д.). В результате на нижней панели соответствующим образом изменится инструкция SQL. Чтобы ввести условие на выборку записей, можно использовать две разновидности инструкции SELECT:

  • если в столбце Группировка (Group by) установлено значение параметра WHERE, тогда в инструкцию SELECT добавляется, условие WHERE с критериями выборки;
  • если столбец Группировка (Group by) имеет другие значения, тогда в инструкцию SELECT добавится условие HAVING.

Пример вычисления общей суммы в таблице базы данных Microsoft Access без использования SQL-запроса

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

В данной задаче, на примере таблицы Microsoft Access, вычисляется общая сумма без использования SQL-запроса. Дополнительно вычисляется среднее арифметическое значений ячеек заданного столбца.

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

Условие задачи

Дана таблица, сформированная средствами СУБД Microsoft Access. Таблица содержит данные с начисленной заработной платой сотрудников.

Таблица имеет следующую структуру.

Сразу после загрузки, приложение должно вычислять общую начисленную сумму и среднее арифметическое. Результат нужно выводить в компоненты типа TStaticText.

Решение

  1. Загрузить Delphi.

Создать приложение как Windows Forms Application.

Сохранить проект под любым именем.

  1. Создание формы.

Разместить на форме следующие компоненты (рис. 1):

– из вкладки “dbGo” компонент TADOConnection. Создается объект с именем ADOConnection1;

– из вкладки “Data Access” компонент TDataSource. Создается объект с именем DataSource1;

– из вкладки “dbGo” компонент типа TADOTable. Создается объект с именем ADOTable1;

– из вкладки “Data Controls” компонент типа TDataGrid. Создается объект с именем DBGrid1;

– из вкладки “Additional” три компонента типа TStaticText. Создаются объекты с именами StaticText1, StaticText2.

В компоненте StaticText1 будет выведена общая сумма.

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

Рис. 1. Компоненты формы

  1. Подключение базы данных. Свойство ConnectionString компонента ADOConnection1.

Процесс подключения приложения к базе данных Microsoft Access подробно описан здесь.

В результате формируется строка ConnectionString в компоненте ADOConnection1 (рис. 2). В этой строке указывается тип поставщика данных и полный путь к файлу базы данных.

Рис. 2. Строка ConnectionString компонента ADOConnection1

  1. Настройка компонент ADOConnection1, ADOTable1, DataSource1, DBGrid1.

Чтобы отобразить таблицу базы данных, нужно настроить следующие свойства компонент:

– в компоненте ADOConnection1 свойство LoginPrompt = “false” (рис. 3) (отмена запроса имени пользователя и пароля для доступа к базе данных);

– в компоненте ADOTable1 свойство Connection = “ADOConnection1” (рис. 4);

– в компоненте DataSource1 свойство DataSet = “ADOTable1” (рис. 5);

– в компоненте DBGrid1 свойство DataSource = “DataSource1” (рис. 6);

– в компоненте ADOTable1 свойство TableName = “Worker” (рис. 7);

– в компоненте DBGrid1 из свойства Options установить опцию dgEditing = false (запрет внесения данных в ячейки таблицы непосредственно из сетки DBGrid1) (рис. 8).

Рис. 3. Свойство LoginPrompt компонента ADOConnection1

Рис. 4. Свойство Connection компонента ADOTable1

Рис. 5. Свойство DataSet компонента DataSource1

Рис. 6. Свойство DataSource компонента DBGrid1

Рис. 7. Свойство TableName компонента ADOTable1

Рис. 8. Опция dgEditing свойства Options компонента DBGrid1

  1. Активизация таблицы.

Для отображения данных в таблице нужно выполнить следующие действия (рис. 9):

– выделить таблицу ADOTable1;

– свойство Active = true.

После этого данные таблицы отобразятся в DBGrid1.

Рис. 9. Свойство Active компонента ADOTable1

  1. Настройка размеров компонент и формы.

Следующим шагом нужно настроить размеры и позиции компонент на форме, как изображено на рисунке 10.

Рис. 10. Основная форма приложения

  1. Скрытие поля ID_Worker в DBGrid1.

Чтобы отображаемая таблица имела корректный вид, нужно скрыть поле ID_Worker, которое есть ключевым полем. В таблице это поле является счетчиком. При добавлении новой записи значение в этом поле формируется автоматически (увеличивается на 1).

Сначала нужно вызвать редактор полей (“Fields Editor…”) компонента ADOTable1 из контекстного меню (рис. 11).

Рис. 11. Вызов редактора полей компонента ADOTable1

Откроется окно Form1.ADOTable1. В этом окне, с помощью мышки, нужно вызвать контекстное меню. В контекстном меню выбрать команду «Add All fields».

В результате, окно редактора примет вид, как изображено на рисунке 12.

Рис. 12. Редактор полей

В редакторе полей Form1.ADOTable1 отображаются все поля таблицы Worker. Чтобы удалить поле ID_Worker, нужно на строке ID_Worker сделать клик правой кнопкой «мыши» и в контекстном меню выбрать команду Delete. После этого можно закрыть редактор.

В результате, в таблице DBGrid1 будет отображено только два поля (рис. 13).

Рис. 13. Отображение таблицы Worker с двумя полями

  1. Установление фильтра вывода с двумя знаками после запятой в поле Salary.

Для того, чтобы в поле Salary корректно отображалось значение суммы (2 знака после запятой) нужно выполнить следующие действия.

Выделить компонент ADOTable1. Вызвать редактор полей “Fields Editor…” так как описано в пункте 6. В результате откроется список из двух полей Name и Salary. Выделить строку с названием Salary. В Object Inspector будет активирован объект с именем ADOTable1Salary.

Следующим шагом нужно в Object Inspector в поле “Display Format” установить значение «0.00» (рис. 14).

Рис. 14. Установление формата вывода в поле Salary объекта ADOTable1

После выполненных действий, поле Salary в таблице будет выводиться с точностью 2 знака после запятой.

  1. Ввод внутренних переменных.

Для сохранения данных суммы и среднего арифметического нужно ввести в текст класса формы TForm1 внутренние переменные с именами sum и avg.

Переменные вводятся в раздел private. Фрагмент кода класса TForm1 формы имеет следующий вид:

...  type    TForm1 = class(TForm)      ADOConnection1: TADOConnection;      DataSource1: TDataSource;      ADOTable1: TADOTable;      DBGrid1: TDBGrid;      StaticText1: TStaticText;      StaticText2: TStaticText;      StaticText3: TStaticText;      ADOTable1Name: TWideStringField;      ADOTable1Salary: TFloatField;      procedure FormActivate(Sender: TObject);      procedure FormClose(Sender: TObject; var Action: TCloseAction);    private      { Private declarations }      sum:real; // сумма      avg:real; // среднее арифметическое      public      { Public declarations }    end;  ...
  1. Программирование события активизации формы.

Как только пользователь загрузит программу, нужно сразу рассчитать значения суммы и среднего арифметического в таблицы.

Поэтому, нужно запрограммировать событие OnActivate формы Form1. Событие OnActivate вызовется в момент активизации формы после запуска программы на выполнение.

Пример программирования события в Delphi подробно описан здесь.

В нашем случае обработчик события имеет следующий вид:

procedure TForm1.FormActivate(Sender: TObject);  var    f:TField; // дополнительная переменная типа «Поле»  begin    // 1. Проверка, есть ли записи в таблице    if ADOTable1.RecordCount = 0 then exit;      // 2. Отключить визуализацию в DBGrid1    ADOTable1.DisableControls;      // 3. Перебор всех записей таблицы Worker    // 3.1. Перейти на первую запись    ADOTable1.First;      // 3.2. Обнулить сумму    sum := 0;      // 3.3. Взять значение зарплаты из первой записи    f := ADOTable1.FieldByName('Salary');      // 3.4. Цикл перебора записей в таблице    //      - проверка на достижение конца таблицы    while ADOTable1.Eoftrue do    begin      // 3.4.1. Увеличить сумму      sum := sum + f.Value;        // 3.4.2. Перейти на следующую запись      ADOTable1.Next;    end;      // 4. Вычислить среднее арифметическое    avg := sum / ADOTable1.RecordCount;      // 5. Заполнить строки типа TStaticText    StaticText1.Caption := 'Сумма: ' + FloatToStr(sum, ffFixed, 8, 2);    StaticText2.Caption := 'Средняя зарплата: ' + FloatToStr(avg, ffFixed, 8, 2);      // 6. Включить визуализацию в DBGrid    ADOTable1.EnableControls;  end;

Объясним некоторые фрагменты кода.

Методы DisableControls и EnableControls отвечают за отключение и включение подключенных к набору данных (базы данных) визуальных элементов управления. Вызов метода DisableControls позволяет значительно ускорить процесс перебора записей, поскольку заставит приложение не тратить время на перерисовывание содержимого элемента управления DBGrid1 с каждым изменением записи.

Свойство

ADOTable1.RecordCount

указывает число записей в таблице.

Метод

ADOTable1.First

устанавливает активным первую запись таблицы.

Метод

ADOTable1.FieldByName()

позволяет получить объект типа TField для заданного поля. Потом в этом объекте можно получить информацию из текущей записи. В программе для доступа к значениям записей поля Salary, используется дополнительная переменная f типа TField. Чтобы прочитать значение в текущей записи поля Salary достаточно вызвать оператор

f.Value

Свойство

ADOTable1.Eof

становится равным true, если достигнут конец таблицы.

Метод

ADOTable1.Next

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

Результат суммы выводится в свойстве Caption компонента StaticText1.

Значение среднего арифметического выводится в свойстве Caption компонента StaticText2.

  1. Запуск приложения на выполнение.

Теперь можно запустить приложение на выполнение.

Похожие статьи:

013 — Пример вычисления общей суммы в таблице базы данных Microsoft Access с использованием SQL-запроса. Компонент TDBText.