В данной статье описано использование агрегатной функции для суммирования данных в результатах запроса. В ней также кратко описывается использование других агрегатных функций, например COUNT и AVG, для подсчета или вычисления средних значений в результирующем наборе записей. Кроме того, в этой статье рассматривается использование строки итогов — возможности Access, позволяющий суммировать данные без изменения структуры запросов.
Выберите нужное действие
-
Общее представление о способах суммирования данных
-
Подготовка примера данных
-
Суммирования данных с помощью строки итогов
-
Вычисление общих итогов с помощью запроса
-
Вычисление итогов по группе с помощью итогового запроса
-
Суммирование данных из нескольких групп с помощью перекрестного запроса
-
Справочные сведения об агрегатных функциях
Общее представление о способах суммирования данных
Просуммировать числовой столбец в запросе можно с помощью агрегатной функции. Агрегатные функции выполняют вычисления со столбцами данных и возвращают единственное значение. В Access существует множество агрегатных функций, включая Sum, Count, Avg (для вычисления среднего значения), Min и Max. Суммирование данных производится путем добавления в запрос функции Sum, подсчет данных — путем использования функции Count и т. д.
Кроме того, в Access предусмотрено несколько способов добавления функции Sum и других агрегатных функций в запрос. Вы можете:
-
Открыть запрос в режиме таблицы и добавить строку итогов. Строка итогов — возможность Access, позволяющая использовать агрегатные функции в одном или нескольких столбцах в результатах запроса без необходимости изменять его структуру.
-
Создать итоговый запрос. Итоговый запрос вычисляет промежуточные итоги для групп записей, а строка итогов — общие итоги для одного или нескольких столбцов (полей) данных. Например, если вы хотите вычислить промежуточную сумму всех продаж по городам или по кварталам, следует использовать итоговый запрос для группировки записей по нужной категории, а затем просуммировать все объемы продаж.
-
Создать перекрестный запрос. Перекрестный запрос — это особый тип запросов, отображающий результаты в сетке, напоминающей лист Excel. Перекрестные запросы суммируют значения и затем группируют их по двум наборам фактов — вдоль боковой стороны (заголовки строк) и в верхней части (заголовки столбцов). Например, вы можете использовать перекрестный запрос для отображения итоговых значений продаж для каждого города за последние три года, как показано в таблице:
Город |
2003 |
2004 |
2005 |
Краснодар |
254 556 |
372 455 |
467 892 |
Санкт-Петербург |
478 021 |
372 987 |
276 399 |
Москва |
572 997 |
684 374 |
792 571 |
… |
… |
… |
… |
Примечание: Ниже в разделах этой статьи подробно описано применение функции Sum, однако следует помнить, что вы можете использовать другие агрегатные функции в строках итогов и запросах. Дополнительные сведения об использовании других агрегатных функций см. ниже в разделе Справочные сведения об агрегатных функциях.
Дополнительные сведения о способах использования других агрегатных функций см. в разделе Отображение итогов по столбцу в таблице.
В следующих разделах описано, как добавить строку итогов, использовать итоговый запрос для суммирования данных и перекрестный запрос, вычисляющий промежуточные итоги по группам и интервалам времени. Помните, что многие агрегатные функции работают только с данными в полях, имеющих определенный тип данных. Например, функция SUM работает только с типами данных “Число”, “Действительное” и “Денежный”. Дополнительные сведения о типах данных, требуемых для каждой функции, см. ниже в разделе Справочные сведения об агрегатных функциях.
Общие сведения о типах данных см. в статье Изменение типа данных для поля.
К началу страницы
Подготовка примера данных
В инструкциях этой статьи приводятся таблицы с примерами данных. Они помогают понять, как работают агрегатные функции. Вы можете добавить примеры таблиц в новую или существующую базу данных.
Сделать это в Access можно несколькими способами. Вы можете ввести данные вручную, скопировать каждую таблицу в редактор электронных таблиц (такой как Excel) и импортировать листы в Access или же вставить данные в текстовый редактор, например Блокнот, и импортировать их из созданных текстовых файлов.
В пошаговых инструкциях этого раздела объясняется, как вводить данные вручную на пустой лист, а также как копировать примеры таблиц в редактор электронных таблиц и затем импортировать их в Access. Дополнительные сведения о создании и импорте текстовых данных см. в статье Импорт данных или связывание с данными текстового файла.
В пошаговых инструкциях в этой статье используются приведенные ниже таблицы. Создайте пример данных на их основе:
Таблица “Категории”
Категория |
Куклы |
Игры и головоломки |
Картины и рамы |
Видеоигры |
DVD-диски и фильмы |
Модели для сборки, хобби |
Спортивное снаряжение |
Таблицы “Товары”
Наименование товара |
Цена |
Категория |
Фигурка программиста |
12,95 ₽ |
Куклы |
Эксперименты с C# (игра для всей семьи) |
15,85 ₽ |
Игры и головоломки |
Схема реляционной базы данных |
22,50 ₽ |
Картины и рамы |
Волшебная микросхема (500 деталей) |
32,65 ₽ |
Игры и головоломки |
Access! Игра! |
22,95 ₽ |
Игры и головоломки |
Компьютерные маньяки и мифические животные |
78,50 ₽ |
Видеоигры |
Упражнение для компьютерных мониторов! DVD-диск! |
14,88 ₽ |
DVD-диски и фильмы |
Неуловимая летающая пицца |
36,75 ₽ |
Спортивное снаряжение |
Внешний дисковод гибких дисков 5.25” (масштаб 1:4) |
65,00 ₽ |
Модели для сборки, хобби |
Недвижущаяся фигурка бюрократа |
78,88 ₽ |
Куклы |
Тьма |
53,33 ₽ |
Видеоигры |
Собери клавиатуру |
77,95 ₽ |
Модели для сборки, хобби |
Таблица Заказы
Дата заказа |
Дата отгрузки |
Город назначения |
Стоимость доставки |
14.11.2005 |
15.11.2005 |
Москва |
55,00 ₽ |
14.11.2005 |
15.11.2005 |
Санкт-Петербург |
76,00 ₽ |
16.11.2005 |
17.11.2005 |
Санкт-Петербург |
87,00 ₽ |
17.11.2005 |
18.11.2005 |
Москва |
43,00 ₽ |
17.11.2005 |
18.11.2005 |
Краснодар |
105,00 ₽ |
17.11.2005 |
18.11.2005 |
Новосибирск |
112,00 ₽ |
18.11.2005 |
19.11.2005 |
Иркутск |
215,00 ₽ |
19.11.2005 |
20.11.2005 |
Владивосток |
525,00 ₽ |
20.11.2005 |
21.11.2005 |
Иркутск |
198,00 ₽ |
20.11.2005 |
21.11.2005 |
Краснодар |
187,00 ₽ |
21.11.2005 |
22.11.2005 |
Санкт-Петербург |
81,00 ₽ |
23.11.2005 |
24.11.2005 |
Москва |
92,00 ₽ |
Таблица Сведения о заказах
Идентификатор заказа |
Наименование товара |
Код товара |
Цена за единицу |
Количество |
Скидка |
1 |
Собери клавиатуру |
12 |
77,95 ₽ |
9 |
5% |
1 |
Недвижущаяся фигурка бюрократа |
2 |
78,88 ₽ |
4 |
7,5% |
2 |
Упражнение для компьютерных мониторов! DVD-диск! |
7 |
14,88 ₽ |
6 |
4% |
2 |
Волшебная микросхема |
4 |
32,65 ₽ |
8 |
0 |
2 |
Компьютерные маньяки и мифические животные |
6 |
78,50 ₽ |
4 |
0 |
3 |
Access! Игра! |
5 |
22,95 ₽ |
5 |
15% |
4 |
Фигурка программиста |
1 |
12,95 ₽ |
2 |
6% |
4 |
Неуловимая летающая пицца |
8 |
36,75 ₽ |
8 |
4% |
5 |
Внешний дисковод гибких дисков 5.25” (масштаб 1:4) |
9 |
65,00 ₽ |
4 |
10% |
6 |
Схема реляционной базы данных |
3 |
22,50 ₽ |
12 |
6,5% |
7 |
Тьма |
11 |
53,33 ₽ |
6 |
8% |
7 |
Схема реляционной базы данных |
3 |
22,50 ₽ |
4 |
9% |
Примечание: Помните, что в типичной базе данных таблица “Сведения о заказах” будет содержать только поле “Код товара” (без поля “Наименование товара”). В данном примере поле “Наименование товара” используется для упрощения восприятия данных.
Ввод примеров данных вручную
-
на вкладке Создание в группе Таблицы нажмите кнопку Таблица.
Access добавит в базу данных новую пустую таблицу.
Примечание: Эту операцию следует выполнять только при необходимости добавить таблицу в базу данных. При открытии новой пустой базы данных это действие не требуется.
-
Дважды щелкните первую ячейку в строке заголовков и введите имя поля из примера таблицы.
По умолчанию в Access пустые поля обозначаются надписью Добавить поле в строке заголовков:
-
С помощью клавиш со стрелками перейдите в следующую пустую ячейку заголовка и введите имя второго поля (чтобы перейти в другую ячейку, можно также нажать клавишу TAB или щелкнуть эту ячейку два раза). Повторите эти действия, чтобы ввести имена всех полей.
-
Введите данные в пример таблицы.
По мере ввода данных Access определяет их тип для каждого поля. Если вы плохо знакомы с реляционными базами данных, для каждого поля таблицы следует задать конкретный тип данных, например “Число”, “Текст” или “Дата/время”. Это обеспечивает точный ввод данных и помогает предотвратить ошибки, например использование цифр номера телефона в вычислениях. Для этих примеров таблиц можно определить тип данных автоматически.
-
Завершив ввод данных, нажмите кнопку Сохранить.
(Сочетание клавиш: нажмите CTRL+S.)
Откроется диалоговое окно Сохранение документа.
-
В поле Имя таблицы введите имя примера таблицы и нажмите кнопку ОК.
Следует использовать указанные имена таблиц, потому что они применяются в запросах, приведенных в пошаговых инструкциях.
-
Повторяйте эти шаги, пока не создадите каждый из примеров таблиц, приведенных в начале этого раздела.
Если вы не хотите вводить данные вручную, можно выполнить указанные ниже действия для копирования информации в файл электронной таблицы, а затем импортировать данные из него в Access.
Создание листов с примерами данных
-
Запустите редактор электронных таблиц и создайте пустой файл. Если вы используете Excel, по умолчанию создается пустая книга.
-
Скопируйте первый пример таблицы и вставьте его на первый лист, начиная с первой ячейки.
-
Присвойте листу имя с помощью функций редактора электронных таблиц. Оно должно совпадать с именем примера таблицы. Например, если пример называется Категории, присвойте листу это же имя.
-
Повторяйте шаги 2 и 3, чтобы скопировать каждый пример таблицы на пустой лист и переименовать этот лист.
Примечание: К файлу электронной таблицы может понадобиться добавить листы. Сведения о том, как сделать это, см. в справке редактора электронных таблиц.
-
Сохраните книгу в нужной папке на компьютере или в сети и переходите к следующей процедуре.
Создание таблиц базы данных на основе листов
-
На вкладке Внешние данные в группе Импорт щелкните Excel.
-или-
Нажмите кнопку Дополнительно, а затем выберите редактор электронных таблиц из списка.
Откроется диалоговое окно Внешние данные — лист <имя программы>.
-
Нажмите кнопку Обзор, откройте файл электронной таблицы, созданный на предыдущих этапах, и нажмите кнопку ОК.
Откроется окно мастера импорта электронных таблиц.
-
По умолчанию мастер выбирает первый лист в книге (в этом примере — лист Клиенты), и данные из этого листа появляются в нижней части страницы мастера. Нажмите кнопку Далее.
-
На следующей странице мастера выберите Первая строка содержит названия столбцов, а затем нажмите кнопку Далее.
-
Если нужно, вы можете изменить имена полей и типы данных или пропустить некоторые поля, воспользовавшись текстовыми полями и списками в группе Параметры поля. В противном случае нажмите кнопку Далее.
-
Оставьте параметр автоматически создать ключ выбранным и нажмите кнопку Далее.
-
По умолчанию Access использует имя листа для новой таблицы. Оставьте это имя или введите другое, а затем нажмите кнопку Готово.
-
Повторите шаги с 1 по 7 для каждого листа книги Excel, чтобы создать для него таблицу.
Переименование полей первичного ключа
Примечание: При импорте листов Access автоматически добавляет в каждую таблицу столбец первичного ключа и по умолчанию присваивает ему имя “Код” и тип данных “Счетчик”. В этом разделе даны инструкции по переименованию полей первичного ключа. Это позволяет четко определить все поля в запросе.
-
В области навигации щелкните правой кнопкой мыши каждую таблицу, созданную на предыдущем шаге, и выберите команду Конструктор.
-
Для каждой таблицы найдите поле первичного ключа. По умолчанию Access присваивает каждому полю имя Код.
-
В столбце Имя поля каждого поля первичного ключа добавьте имя таблицы.
Например, можно переименовать поле “ИД” в таблице “Категории” в “ИД категории”, а поле таблицы “Заказы” — в “ИД заказа”. В таблице “Сведения о заказе” переименуем поле в “Подробный ИД”. В таблице “Товары” переименуем поле в “ИД товара”.
-
Сохраните изменения.
В последующих ссылках на примеры таблиц в данной статье указываются поля первичного ключа, переименованные, как описано выше.
К началу страницы
Суммирования данных с помощью строки итогов
Чтобы добавить в запрос строку итогов, откройте его в режиме таблицы, добавьте строку, а затем выберите нужную агрегатную функцию, например Sum, Min, Max или Avg. В этом разделе объясняется, как создать простой запрос на выборку и добавить строку итогов. Не обязательно использовать примеры таблиц, представленные в предыдущем разделе.
Создание простого запроса на выборку
-
На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.
-
Дважды щелкните таблицу или таблицы, которые вы хотите использовать в запросе.
Выбранные таблицы отображаются в виде окон в верхней части конструктора запросов.
-
Дважды щелкните поля таблицы, которые вы хотите использовать в запросе.
Можно включить поля, содержащие описательные данные, например имена и описания, но следует обязательно добавить поле, содержащее числовые или денежные значения.
Каждое поле отображается в ячейке в бланке запроса.
-
Нажмите кнопку Выполнить для выполнения запроса.
Результаты запроса будут отображены в режиме таблицы.
-
При необходимости переключитесь в Конструктор и скорректируйте запрос. Для этого щелкните правой кнопкой мыши вкладку документа для запроса и выберите команду Конструктор. После этого можно изменить запрос, добавив или удалив поля таблицы. Чтобы удалить поле, выберите столбец в бланке запроса и нажмите клавишу DELETE.
-
Сохраните запрос.
Добавление строки итогов
-
Убедитесь в том, что запрос открыт в режиме таблицы. Для этого щелкните правой кнопкой мыши вкладку документа для запроса и выберите команду Режим таблицы.
-или-
Дважды щелкните запрос в области навигации. Запрос будет выполнен, а его результаты будут загружены в таблицу.
-
На вкладке Главная в группе Записи нажмите кнопку Итоги.
В таблице появится новая строка Итог.
-
В строке Итог щелкните ячейку в поле, по которому вы хотите вычислить сумму, и выберите в списке функцию Sum.
Скрытие строки итогов
-
На вкладке Главная в группе Записи нажмите кнопку Итоги.
Дополнительные сведения об использовании строки итогов см. в разделе Отображение итогов по столбцу в таблице.
К началу страницы
Вычисление общих итогов с помощью запроса
Общие итоги — это сумма по всем значениям столбца. Можно вычислять нескольких типов общих итогов, включая:
-
Простой общий итог, суммирующий значения одного столбца. Например, можно вычислить общую стоимость доставки.
-
Вычисляемый общий итог, суммирующий значения нескольких столбцов. Например, можно вычислить суммы продаж путем умножения цены нескольких товаров на число заказанных товаров, а затем просуммировав результирующие значения.
-
Общий итог за исключением нескольких записей. Например, можно вычислить сумму продаж только по последней пятнице.
В следующих разделах описано, как вычислить каждый из типов общих итогов. В инструкциях используются таблицы “Заказы” и “Сведения о заказах”.
Таблица “Заказы”
Идентификатор заказа |
Дата заказа |
Дата отгрузки |
Город назначения |
Стоимость доставки |
1 |
14.11.2005 |
15.11.2005 |
Москва |
55,00 ₽ |
2 |
14.11.2005 |
15.11.2005 |
Санкт-Петербург |
76,00 ₽ |
3 |
16.11.2005 |
17.11.2005 |
Санкт-Петербург |
87,00 ₽ |
4 |
17.11.2005 |
18.11.2005 |
Москва |
43,00 ₽ |
5 |
17.11.2005 |
18.11.2005 |
Краснодар |
105,00 ₽ |
6 |
17.11.2005 |
18.11.2005 |
Новосибирск |
112,00 ₽ |
7 |
18.11.2005 |
19.11.2005 |
Иркутск |
215,00 ₽ |
8 |
19.11.2005 |
20.11.2005 |
Владивосток |
525,00 ₽ |
9 |
20.11.2005 |
21.11.2005 |
Иркутск |
198,00 ₽ |
10 |
20.11.2005 |
21.11.2005 |
Краснодар |
187,00 ₽ |
11 |
21.11.2005 |
22.11.2005 |
Санкт-Петербург |
81,00 ₽ |
12 |
23.11.2005 |
24.11.2005 |
Москва |
92,00 ₽ |
Таблица “Сведения о заказах”
Код сведений |
Идентификатор заказа |
Наименование товара |
Код товара |
Цена за единицу |
Количество |
Скидка |
1 |
1 |
Собери клавиатуру |
12 |
77,95 ₽ |
9 |
0,05 |
2 |
1 |
Недвижущаяся фигурка бюрократа |
2 |
78,88 ₽ |
4 |
0,075 |
3 |
2 |
Упражнение для компьютерных мониторов! DVD-диск! |
7 |
14,88 ₽ |
6 |
0,04 |
4 |
2 |
Волшебная микросхема |
4 |
32,65 ₽ |
8 |
0,00 |
5 |
2 |
Компьютерные маньяки и мифические животные |
6 |
78,50 ₽ |
4 |
0,00 |
6 |
3 |
Access! Игра! |
5 |
22,95 ₽ |
5 |
0,15 |
7 |
4 |
Фигурка программиста |
1 |
12,95 ₽ |
2 |
0,06 |
8 |
4 |
Неуловимая летающая пицца |
8 |
36,75 ₽ |
8 |
0,04 |
9 |
5 |
Внешний дисковод гибких дисков 5.25” (масштаб 1:4) |
9 |
65,00 ₽ |
4 |
0,10 |
10 |
6 |
Схема реляционной базы данных |
3 |
22,50 ₽ |
12 |
0,065 |
11 |
7 |
Тьма |
11 |
53,33 ₽ |
6 |
0,08 |
12 |
7 |
Схема реляционной базы данных |
3 |
22,50 ₽ |
4 |
0,09 |
Вычисление простого общего итога
-
На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.
-
Дважды щелкните таблицу, которую вы хотите использовать в запросе.
При использовании примера данных нужно дважды щелкнуть таблицу “Заказы”.
Таблица появится в окне в верхней части конструктора запросов.
-
Дважды щелкните поле, для которого вы хотите найти сумму. Убедитесь, что поле имеет тип данных “Число” или “Денежный”. При попытке суммировать значения в нечисловых полях, например в текстовом поле, Access выводит сообщение об ошибке Несоответствие типов данных в выражении условия отбора.
Если вы используете пример данных, дважды щелкните столбец “Стоимость доставки”.
Вы можете добавить дополнительные числовые поля, если хотите вычислить для них общие итоги. Итоговый запрос может вычислять общие итоги для нескольких столбцов.
-
На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.
В бланке появится строка Итог, а в ячейке столбца “Стоимость доставки” будет указано Группировка.
-
Измените значение в ячейке строки Итог строки на Sum.
-
Чтобы выполнить запрос и отобразить результаты в режиме таблицы, нажмите кнопку Выполнить .
Совет: Обратите внимание, что Access добавит “СуммаOf” в начало имени поля, которое вы суммируете. Чтобы изменить заголовок столбца на более осмысленный, например “Всего доставки”, переключиться обратно в конструктор и щелкните в строке “Поле” столбца “Стоимость доставки” в сетке конструктора. Поместите курсор рядом с искомой стоимостью доставки и введите слова Total Shippingи двоеточие, например: Total Shipping: Shipping Fee.
-
При необходимости вы можете сохранить запрос и закрыть его.
Вычисление общего итога за исключением нескольких записей
-
На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.
-
Дважды щелкните таблицы “Заказы” и “Сведения о заказах”.
-
Добавьте поле “Дата заказа” из таблицы “Заказы” в первый столбец на бланке запроса.
-
В строке Условие отбора первого столбца введите Date() -1. Это выражение исключает записи с текущей датой из вычисляемого итогового значения.
-
Затем создайте столбец, который вычисляет объем продаж по каждой транзакции. Введите в строку Поле второго столбца на бланке следующее выражение:
Общее значение продаж: (1-[Сведения о заказах].[Скидка]/100)*([Сведения о заказах].[Цена за единицу]*[Сведения о заказах].[Количество])
Убедитесь, что выражение ссылается на поля с типами данных “Число” или “Денежный”. Если оно ссылается на поля с другими типами данных, то при попытке выполнения запроса появится сообщение Несоответствие типов данных в выражении условия отбора.
-
На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.
В бланке появится строка Итог, а в первом и втором столбцах будет указано Группировка.
-
Во втором столбце измените значение в ячейке строки Итог строки на Sum. Функция Sum суммирует отдельные показатели продаж.
-
Чтобы выполнить запрос и отобразить результаты в режиме таблицы, нажмите кнопку Выполнить .
-
Сохраните запрос с именем Продажи за день.
Примечание: При следующем открытии запроса в Конструкторе можно заметить небольшие изменения в значениях, указанных для строк Поле и Итог в столбце “Общее значение продаж”. Выражение заключено в функцию Sum, а в строке Итог выводится Выражение вместо функции Sum.
Например, если вы использовали пример данных и создали запрос, как показано выше, будет отображено:
Общее значение продаж: Sum((1-[Сведения о заказах].Скидка/100)*([Сведения о заказах].Цена*[Сведения о заказах].Количество))
К началу страницы
Вычисление итогов по группе с помощью итогового запроса
В этом разделе описано, как создать итоговый запрос для вычисления промежуточных итогов по группам данных. Помните, что по умолчанию итоговый запрос может включать только поле или поля, содержащие данные, по которым выполняется группировка, например поле “Категории”, а также поля со значениями, которые вы хотите просуммировать, например поле “Продажи”. Итоговые запросы не могут включать другие поля, описывающие значения внутри категории. Если вы хотите отобразить эти описательные данные, создайте второй запрос на выборку, объединяющий поля из итогового запроса с полями, содержащими дополнительные данные.
В этом разделе описано, как создавать итоговые запросы и запросы на выборку, если требуется определить объем продаж для каждого товара. В качестве примера используются следующие таблицы:
Таблицы “Товары”
Код товара |
Наименование товара |
Цена |
Категория |
1 |
Фигурка программиста |
12,95 ₽ |
Куклы |
2 |
Эксперименты с C# (игра для всей семьи) |
15,85 ₽ |
Игры и головоломки |
3 |
Схема реляционной базы данных |
22,50 ₽ |
Картины и рамы |
4 |
Волшебная микросхема (500 деталей) |
32,65 ₽ |
Картины и рамы |
5 |
Access! Игра! |
22,95 ₽ |
Игры и головоломки |
6 |
Компьютерные маньяки и мифические животные |
78,50 ₽ |
Видеоигры |
7 |
Упражнение для компьютерных мониторов! DVD-диск! |
14,88 ₽ |
DVD-диски и фильмы |
8 |
Неуловимая летающая пицца |
36,75 ₽ |
Спортивное снаряжение |
9 |
Внешний дисковод гибких дисков 5.25” (масштаб 1:4) |
65,00 ₽ |
Модели для сборки, хобби |
10 |
Недвижущаяся фигурка бюрократа |
78,88 ₽ |
Куклы |
11 |
Тьма |
53,33 ₽ |
Видеоигры |
12 |
Собери клавиатуру |
77,95 ₽ |
Модели для сборки, хобби |
Таблица “Сведения о заказах”
Код сведений |
Идентификатор заказа |
Наименование товара |
Код товара |
Цена за единицу |
Количество |
Скидка |
1 |
1 |
Собери клавиатуру |
12 |
77,95 ₽ |
9 |
5% |
2 |
1 |
Недвижущаяся фигурка бюрократа |
2 |
78,88 ₽ |
4 |
7,5% |
3 |
2 |
Упражнение для компьютерных мониторов! DVD-диск! |
7 |
14,88 ₽ |
6 |
4% |
4 |
2 |
Волшебная микросхема |
4 |
32,65 ₽ |
8 |
0 |
5 |
2 |
Компьютерные маньяки и мифические животные |
6 |
78,50 ₽ |
4 |
0 |
6 |
3 |
Access! Игра! |
5 |
22,95 ₽ |
5 |
15% |
7 |
4 |
Фигурка программиста |
1 |
12,95 ₽ |
2 |
6% |
8 |
4 |
Неуловимая летающая пицца |
8 |
36,75 ₽ |
8 |
4% |
9 |
5 |
Внешний дисковод гибких дисков 5.25” (масштаб 1:4) |
9 |
65,00 ₽ |
4 |
10% |
10 |
6 |
Схема реляционной базы данных |
3 |
22,50 ₽ |
12 |
6,5% |
11 |
7 |
Тьма |
11 |
53,33 ₽ |
6 |
8% |
12 |
7 |
Схема реляционной базы данных |
3 |
22,50 ₽ |
4 |
9% |
Следующие действия также предполагают наличие отношения “один-ко-многим” между полями “Код товара” в таблицах “Заказы” и “Сведения о заказах” с таблицей “Заказы” на стороне “один” данного отношения.
Создание итогового запроса
-
На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.
-
Выберите нужные таблицы и нажмите кнопку “Добавить”.
Таблица появится в виде окна в верхней части конструктора запросов.
При использовании примеров таблиц, указанных выше, добавьте таблицы “Товары” и “Сведения о заказах”.
-
Дважды щелкните поля таблицы, которые вы хотите использовать в запросе.
Как правило, в запрос добавляются только поле группы и поле значений. Однако вместо поля значения можно использовать вычисление — в следующих действиях объясняется, как это сделать.
-
Добавьте поле “Категория” из таблицы “Товары” в бланк запроса.
-
Создайте столбец, вычисляющий объемы продаж для каждой транзакции, введя во второй столбец бланка запроса следующее выражение:
Общее значение продаж: (1-[Сведения о заказах].[Скидка]/100)*([Сведения о заказах].[Цена за единицу]*[Сведения о заказах].[Количество])
Убедитесь, что поля, на которые ссылается выражение, имеют типы данных “Число” или “Денежный”. Если оно ссылается на поля с другими типами данных, то при попытке переключения в режим таблицы появится сообщение об ошибке Несоответствие типов данных в выражении условия отбора.
-
На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.
В бланке появится строка Итог, в первом и втором столбцах которой будет указано Группировка.
-
Во втором столбце измените значение в строке Итог строки на Sum. Функция Sum суммирует отдельные показатели продаж.
-
Чтобы выполнить запрос и отобразить результаты в режиме таблицы, нажмите кнопку Выполнить .
-
Оставьте запрос открытым, чтобы использовать его в следующем разделе.
Использование условий в итоговом запросе
Запрос, созданный в предыдущем разделе, включает все записи в базовых таблицах. Он не исключает никакие заказы при вычислении итогов и отображает итоги для всех категорий.
Если вам нужно исключить некоторые записи, можно добавить условия в запрос. Например, вы можете пропустить транзакции с суммой менее 100 ₽ или вычислить итоги только по некоторым категориям товаров. В этом разделе описано использование трех типов условий:
-
Условия, игнорирующие некоторые группы при вычислении итогов. Например, можно вычислить итоги только для категорий товаров “Видеоигры”, “Картины и рамы” и “Спортивное снаряжение”.
-
Условия, скрывающие некоторые итоговые значения после их вычисления. Например, можно отобразить только итоговые значения свыше 150 000 ₽.
-
Условия, исключающие некоторые записи при вычислении итогового значения. Например, можно исключить отдельные транзакции, в которых значение (Цена за единицу * Количество) меньше 100 ₽.
На примере следующих действий объясняется, как добавить условия одно за другим и как это повлияет на результаты запроса.
Добавление условий в запрос
-
Откройте запрос из предыдущего раздела в Конструкторе. Для этого щелкните правой кнопкой мыши вкладку документа для запроса и выберите команду Конструктор.
-или-
Щелкните правой кнопкой мыши запрос в области навигации и выберите Конструктор.
-
В строке Условия отбора столбца “Код категории” введите =Куклы Or Спортивное снаряжение or Картины и рамы.
-
Чтобы выполнить запрос и отобразить результаты в режиме таблицы, нажмите кнопку Выполнить .
-
Вернитесь в Конструктор и в строке Условия отбора столбца “Общее значение продаж” введите >100.
-
Выполните запрос, чтобы просмотреть результаты, а затем переключитесь в Конструктор.
-
Теперь добавьте условия для исключения отдельных транзакций, сумма которых меньше 100 ₽. Для этого необходимо добавить еще один столбец.
Примечание: Невозможно указать третье условие для столбца “Общее значение продаж”. Любое условие, указанное для этого столбца, будет применено к итоговому значению, а не к отдельным значениям.
-
Скопируйте выражение из второго столбца в третий столбец.
-
В строке Итог нового столбца выберите Условие, а в строке Условия отбора введите >20.
-
Выполните запрос, чтобы просмотреть результаты, а затем сохраните его.
Примечание: При следующем открытии запроса в Конструкторе можно заметить небольшие изменения в бланке. Во втором столбце выражение в строке Поле будет заключено в функцию Sum, а в строке Итоги будет указано Выражение вместо функции Sum.
Общее значение продаж: Sum((1-[Сведения о заказах].Скидка/100)*([Сведения о заказах].Цена*[
Сведения о заказах].Количество))Будет также отображен четвертый столбец. Этот столбец — копия второго столбца, но условия, заданные во втором столбце, на самом деле отображаются как часть нового столбца.
-
К началу страницы
Суммирование данных из нескольких групп с помощью перекрестного запроса
Перекрестный запрос — это особый тип запросов, отображающий результаты в сетке, напоминающей лист Excel. Перекрестные запросы суммируют значения и затем группируют их по двум наборам фактов — один набор вдоль боковой стороны (заголовки строк) и второй набор вдоль верхней части (заголовки столбцов). На рисунке показана часть набора результатов для примера перекрестного запроса.
Помните, что перекрестный запрос не всегда заполняет все поля в наборе результатов, потому что таблицы, используемые в запросе, не всегда содержат значения для всех возможных точек данных.
При создании перекрестного запроса обычно включаются данные из нескольких таблиц, и всегда включаются три типа данных: данные, используемые в качестве заголовков строк, данные, используемые в качестве заголовков столбцов и значения, которые вы хотите просуммировать или с которыми необходимо произвести другие вычисления.
Инструкции в данном разделе предполагают использование следующих примеров таблиц:
Таблица “Заказы”
Дата заказа |
Дата отгрузки |
Город назначения |
Стоимость доставки |
14.11.2005 |
15.11.2005 |
Москва |
55,00 ₽ |
14.11.2005 |
15.11.2005 |
Санкт-Петербург |
76,00 ₽ |
16.11.2005 |
17.11.2005 |
Санкт-Петербург |
87,00 ₽ |
17.11.2005 |
18.11.2005 |
Москва |
43,00 ₽ |
17.11.2005 |
18.11.2005 |
Краснодар |
105,00 ₽ |
17.11.2005 |
18.11.2005 |
Новосибирск |
112,00 ₽ |
18.11.2005 |
19.11.2005 |
Иркутск |
215,00 ₽ |
19.11.2005 |
20.11.2005 |
Владивосток |
525,00 ₽ |
20.11.2005 |
21.11.2005 |
Иркутск |
198,00 ₽ |
20.11.2005 |
21.11.2005 |
Краснодар |
187,00 ₽ |
21.11.2005 |
22.11.2005 |
Санкт-Петербург |
81,00 ₽ |
23.11.2005 |
24.11.2005 |
Москва |
92,00 ₽ |
Таблица “Сведения о заказах”
Идентификатор заказа |
Наименование товара |
Код товара |
Цена за единицу |
Количество |
Скидка |
1 |
Собери клавиатуру |
12 |
77,95 ₽ |
9 |
5% |
1 |
Недвижущаяся фигурка бюрократа |
2 |
78,88 ₽ |
4 |
7,5% |
2 |
Упражнение для компьютерных мониторов! DVD-диск! |
7 |
14,88 ₽ |
6 |
4% |
2 |
Волшебная микросхема |
4 |
32,65 ₽ |
8 |
0 |
2 |
Компьютерные маньяки и мифические животные |
6 |
78,50 ₽ |
4 |
0 |
3 |
Access! Игра! |
5 |
22,95 ₽ |
5 |
15% |
4 |
Фигурка программиста |
1 |
12,95 ₽ |
2 |
6% |
4 |
Неуловимая летающая пицца |
8 |
36,75 ₽ |
8 |
4% |
5 |
Внешний дисковод гибких дисков 5.25” (масштаб 1:4) |
9 |
65,00 ₽ |
4 |
10% |
6 |
Схема реляционной базы данных |
3 |
22,50 ₽ |
12 |
6,5% |
7 |
Тьма |
11 |
53,33 ₽ |
6 |
8% |
7 |
Схема реляционной базы данных |
3 |
22,50 ₽ |
4 |
9% |
Ниже объясняется, как создавать перекрестный запрос, группирующий итоги продаж по городам. Запрос использует два выражения для возврата форматированной даты и общего объема продаж.
Создание перекрестного запроса
-
На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.
-
Дважды щелкните таблицы, которые вы хотите использовать в запросе.
Таблица появится в виде окна в верхней части конструктора запросов.
При использовании примеров таблиц дважды щелкните таблицы “Заказы” и “Сведения о заказах”.
-
Дважды щелкните поля, которые вы хотите использовать в запросе.
Каждое имя поля появится в пустой ячейке в строке Поле на бланке.
При использовании примеров таблиц добавьте поля “Город назначения” и “Дата отгрузки” из таблицы “Заказы”.
-
В следующую пустую ячейку строки Поле скопируйте и вставьте или введите следующее выражение: Итоги продаж: Sum(CCur([Сведения о заказах].[Цена за едницу]*[Количество]*(1-[Скидка])/100)*100)
-
На вкладке Конструктор в группе Тип запроса щелкните элемент Перекрестная таблица.
В бланке запроса будут отображены строки Итог и Перекрестный.
-
Щелкните ячейку в строке Итог в поле “Город назначения” и выберите Группировка. Выполните те же действия для поля “Дата отгрузки”. Измените значение в ячейке Итоги поля “Итоги продаж” на Выражение.
-
В строке Перекрестный присвойте ячейке в поле “Город назначения” значение Заголовки строк, полю “Дата отгрузки” — значение Заголовки столбцов, а полю “Итоги продаж” — Значение.
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результаты запроса будут отображены в режиме таблицы.
К началу страницы
Справочные сведения об агрегатных функциях
В следующей таблице перечислены и отписаны агрегатные функции Access, которые можно использовать в строке итогов и в запросах. Помните, что в Access предусмотрено больше агрегатных функций для запросов, чем для строки итогов. Кроме того, при работе с проектом Access (внешней базой данных Access, которая подключается к базе данных Microsoft SQL Server) можно использовать расширенный набор агрегатных функций, предоставляемый SQL Server. Дополнительные сведения о них см. в электронной документации Microsoft SQL Server.
Функция |
Описание |
Поддерживаемые |
Average |
Вычисляет среднее значение для столбца. Столбец должен содержать числовые или денежные величины или значения даты или времени. Функция игнорирует пустые значения. |
“Число”, “Денежный”, “Дата/время” |
Count |
Подсчитывает число элементов в столбце. |
Все типы данных, за исключением сложных повторяющихся скалярных данных, таких как столбец многозначных списков. Дополнительные сведения о списках, которые могут быть многоценными, см. в руководстве по полям, которые могут быть многоценными, а также к созданию или удалите многофаентное поле. |
Максимум |
Возвращает элемент, имеющий наибольшее значение. Для текстовых данных наибольшим будет последнее по алфавиту значение, причем Access не учитывает регистр. Функция игнорирует пустые значения. |
“Число”, “Денежный”, “Дата/время” |
Minimum |
Возвращает элемент, имеющий наименьшее значение. Для текстовых данных наибольшим будет первое по алфавиту значение, причем Access не учитывает регистр. Функция игнорирует пустые значения. |
“Число”, “Денежный”, “Дата/время” |
Standard Deviation |
Показывает, насколько значения отклоняются от среднего. Дополнительные сведения об этой функции см. в статье Отображение итогов по столбцу в таблице. |
“Число”, “Денежный” |
Sum |
Суммирует элементы в столбце. Подходит только для числовых и денежных данных. |
“Число”, “Денежный” |
Variance |
Вычисляет статистическую дисперсию для всех значений в столбце. Подходит только для числовых и денежных данных. Если таблица содержит менее двух строк, Access возвращает пустое значение. Дополнительные сведения о функциях для расчета дисперсии см. в разделе Отображение итогов по столбцу в таблице. |
“Число”, “Денежный” |
К началу страницы
Подсчет данных при помощи запроса
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
В данной статье описано использование агрегатной функции для суммирования данных в результатах запроса. В ней также кратко описывается использование других агрегатных функций, например COUNT и AVG, для подсчета или вычисления средних значений в результирующем наборе записей. Кроме того, в этой статье рассматривается использование строки итогов — возможности Access, позволяющий суммировать данные без изменения структуры запросов.
Выберите нужное действие
-
Общее представление о способах суммирования данных
-
Подготовка примера данных
-
Суммирования данных с помощью строки итогов
-
Вычисление общих итогов с помощью запроса
-
Вычисление итогов по группе с помощью итогового запроса
-
Суммирование данных из нескольких групп с помощью перекрестного запроса
-
Справочные сведения об агрегатных функциях
Общее представление о способах суммирования данных
Просуммировать числовой столбец в запросе можно с помощью агрегатной функции. Агрегатные функции выполняют вычисления со столбцами данных и возвращают единственное значение. В Access существует множество агрегатных функций, включая Sum, Count, Avg (для вычисления среднего значения), Min и Max. Суммирование данных производится путем добавления в запрос функции Sum, подсчет данных — путем использования функции Count и т. д.
Кроме того, в Access предусмотрено несколько способов добавления функции Sum и других агрегатных функций в запрос. Вы можете:
-
Открыть запрос в режиме таблицы и добавить строку итогов. Строка итогов — возможность Access, позволяющая использовать агрегатные функции в одном или нескольких столбцах в результатах запроса без необходимости изменять его структуру.
-
Создать итоговый запрос. Итоговый запрос вычисляет промежуточные итоги для групп записей, а строка итогов — общие итоги для одного или нескольких столбцов (полей) данных. Например, если вы хотите вычислить промежуточную сумму всех продаж по городам или по кварталам, следует использовать итоговый запрос для группировки записей по нужной категории, а затем просуммировать все объемы продаж.
-
Создать перекрестный запрос. Перекрестный запрос — это особый тип запросов, отображающий результаты в сетке, напоминающей лист Excel. Перекрестные запросы суммируют значения и затем группируют их по двум наборам фактов — вдоль боковой стороны (заголовки строк) и в верхней части (заголовки столбцов). Например, вы можете использовать перекрестный запрос для отображения итоговых значений продаж для каждого города за последние три года, как показано в таблице:
Город |
2003 |
2004 |
2005 |
---|---|---|---|
Краснодар |
254 556 |
372 455 |
467 892 |
Санкт-Петербург |
478 021 |
372 987 |
276 399 |
Москва |
572 997 |
684 374 |
792 571 |
. .. |
… |
… |
… |
Примечание: Ниже в разделах этой статьи подробно описано применение функции Sum, однако следует помнить, что вы можете использовать другие агрегатные функции в строках итогов и запросах. Дополнительные сведения об использовании других агрегатных функций см. ниже в разделе Справочные сведения об агрегатных функциях.
Дополнительные сведения о способах использования других агрегатных функций см. в разделе Отображение итогов по столбцу в таблице.
В следующих разделах описано, как добавить строку итогов, использовать итоговый запрос для суммирования данных и перекрестный запрос, вычисляющий промежуточные итоги по группам и интервалам времени. Помните, что многие агрегатные функции работают только с данными в полях, имеющих определенный тип данных. Например, функция SUM работает только с типами данных «Число», «Действительное» и «Денежный». Дополнительные сведения о типах данных, требуемых для каждой функции, см. ниже в разделе Справочные сведения об агрегатных функциях.
Общие сведения о типах данных см. в статье Изменение типа данных для поля.
К началу страницы
Подготовка примера данных
В инструкциях этой статьи приводятся таблицы с примерами данных. Они помогают понять, как работают агрегатные функции. Вы можете добавить примеры таблиц в новую или существующую базу данных.
Сделать это в Access можно несколькими способами. Вы можете ввести данные вручную, скопировать каждую таблицу в редактор электронных таблиц (такой как Excel) и импортировать листы в Access или же вставить данные в текстовый редактор, например Блокнот, и импортировать их из созданных текстовых файлов.
В пошаговых инструкциях этого раздела объясняется, как вводить данные вручную на пустой лист, а также как копировать примеры таблиц в редактор электронных таблиц и затем импортировать их в Access. Дополнительные сведения о создании и импорте текстовых данных см. в статье Импорт данных или связывание с данными текстового файла.
В пошаговых инструкциях в этой статье используются приведенные ниже таблицы. Создайте пример данных на их основе:
Таблица «Категории»
Категория |
---|
Куклы |
Игры и головоломки |
Картины и рамы |
Видеоигры |
DVD-диски и фильмы |
Модели для сборки, хобби |
Спортивное снаряжение |
Таблицы «Товары»
Наименование товара |
Цена |
Категория |
---|---|---|
Фигурка программиста |
12,95 ₽ |
Куклы |
Эксперименты с C# (игра для всей семьи) |
15,85 ₽ |
Игры и головоломки |
Схема реляционной базы данных |
22,50 ₽ |
Картины и рамы |
Волшебная микросхема (500 деталей) |
32,65 ₽ |
Игры и головоломки |
Доступ! Игра! |
22,95 ₽ |
Игры и головоломки |
Компьютерные маньяки и мифические животные |
78,50 ₽ |
Видеоигры |
Приступить к вашему компьютеру! С DVD-диска! |
14,88 ₽ |
DVD-диски и фильмы |
Неуловимая летающая пицца |
36,75 ₽ |
Спортивное снаряжение |
Внешний дисковод гибких дисков 5. 25» (масштаб 1:4) |
65,00 ₽ |
Модели для сборки, хобби |
Недвижущаяся фигурка бюрократа |
78,88 ₽ |
Куклы |
Тьма |
53,33 ₽ |
Видеоигры |
Собери клавиатуру |
77,95 ₽ |
Модели для сборки, хобби |
Таблица Заказы
Дата заказа |
Дата отгрузки |
Город назначения |
Стоимость доставки |
---|---|---|---|
14. 11.2005 |
15.11.2005 |
Jakarta (Джакарта) |
55,00 ₽ |
14.11.2005 |
15.11.2005 |
Сидней |
76,00 ₽ |
16.11.2005 |
17.11.2005 |
Сидней |
87,00 ₽ |
17.11.2005 |
18.11. 2005 |
Jakarta (Джакарта) |
43,00 ₽ |
17.11.2005 |
18.11.2005 |
Париж |
105,00 ₽ |
17.11.2005 |
18.11.2005 |
Новосибирск |
112,00 ₽ |
18.11.2005 |
19.11.2005 |
Вена |
215,00 ₽ |
19. 11.2005 |
20.11.2005 |
Владивосток |
525,00 ₽ |
20.11.2005 |
21.11.2005 |
Иркутск |
198,00 ₽ |
20.11.2005 |
21.11.2005 |
Краснодар |
187,00 ₽ |
21.11.2005 |
22.11. 2005 |
Санкт-Петербург |
81,00 ₽ |
23.11.2005 |
24.11.2005 |
Москва |
92,00 ₽ |
Таблица Сведения о заказах
Идентификатор заказа |
Наименование товара |
Код товара |
Цена за единицу |
Количество |
Скидка |
---|---|---|---|---|---|
1,1 |
Собери клавиатуру |
12 |
77,95 ₽ |
9 |
5% |
1,1 |
Недвижущаяся фигурка бюрократа |
2 |
78,88 ₽ |
4 |
7,5% |
2 |
Приступить к вашему компьютеру! С DVD-диска! |
7 |
14,88 ₽ |
6 |
4% |
2 |
Волшебная микросхема |
4 |
32,65 ₽ |
No8 |
до |
2 |
Компьютерные маньяки и мифические животные |
6 |
78,50 ₽ |
4 |
до |
3 |
Доступ! Игра! |
5 |
22,95 ₽ |
5 |
15% |
4 |
Фигурка программиста |
1,1 |
12,95 ₽ |
2 |
6% |
4 |
Неуловимая летающая пицца |
No8 |
36,75 ₽ |
No8 |
4% |
5 |
Внешний дисковод гибких дисков 5. 25» (масштаб 1:4) |
9 |
65,00 ₽ |
4 |
10% |
6 |
Схема реляционной базы данных |
3 |
22,50 ₽ |
12 |
6,5% |
7 |
Тьма |
11 |
53,33 ₽ |
6 |
8% |
7 |
Схема реляционной базы данных |
3 |
22,50 ₽ |
4 |
9% |
Примечание: Помните, что в типичной базе данных таблица «Сведения о заказах» будет содержать только поле «Код товара» (без поля «Наименование товара»). В данном примере поле «Наименование товара» используется для упрощения восприятия данных.
Ввод примеров данных вручную
-
на вкладке Создание в группе Таблицы нажмите кнопку Таблица.
Access добавит в базу данных новую пустую таблицу.
Примечание: Эту операцию следует выполнять только при необходимости добавить таблицу в базу данных. При открытии новой пустой базы данных это действие не требуется.
-
Дважды щелкните первую ячейку в строке заголовков и введите имя поля из примера таблицы.
По умолчанию в Access пустые поля обозначаются надписью Добавить поле в строке заголовков:
-
С помощью клавиш со стрелками перейдите в следующую пустую ячейку заголовка и введите имя второго поля (чтобы перейти в другую ячейку, можно также нажать клавишу TAB или щелкнуть эту ячейку два раза). Повторите эти действия, чтобы ввести имена всех полей.
-
Введите данные в пример таблицы.
По мере ввода данных Access определяет их тип для каждого поля. Если вы плохо знакомы с реляционными базами данных, для каждого поля таблицы следует задать конкретный тип данных, например «Число», «Текст» или «Дата/время». Это обеспечивает точный ввод данных и помогает предотвратить ошибки, например использование цифр номера телефона в вычислениях. Для этих примеров таблиц можно определить тип данных автоматически.
-
Завершив ввод данных, нажмите кнопку Сохранить.
(Сочетание клавиш: нажмите CTRL+S.)
Откроется диалоговое окно Сохранение документа.
-
В поле Имя таблицы введите имя примера таблицы и нажмите кнопку ОК.
Следует использовать указанные имена таблиц, потому что они применяются в запросах, приведенных в пошаговых инструкциях.
-
Повторяйте эти шаги, пока не создадите каждый из примеров таблиц, приведенных в начале этого раздела.
Если вы не хотите вводить данные вручную, можно выполнить указанные ниже действия для копирования информации в файл электронной таблицы, а затем импортировать данные из него в Access.
Создание листов с примерами данных
-
Запустите редактор электронных таблиц и создайте пустой файл. Если вы используете Excel, по умолчанию создается пустая книга.
-
Скопируйте первый пример таблицы и вставьте его на первый лист, начиная с первой ячейки.
-
Присвойте листу имя с помощью функций редактора электронных таблиц. Оно должно совпадать с именем примера таблицы. Например, если пример называется Категории, присвойте листу это же имя.
-
Повторяйте шаги 2 и 3, чтобы скопировать каждый пример таблицы на пустой лист и переименовать этот лист.
Примечание: К файлу электронной таблицы может понадобиться добавить листы. Сведения о том, как сделать это, см. в справке редактора электронных таблиц.
-
Сохраните книгу в нужной папке на компьютере или в сети и переходите к следующей процедуре.
Создание таблиц базы данных на основе листов
-
На вкладке Внешние данные в группе Импорт щелкните Excel.
-или-
Нажмите кнопку Дополнительно, а затем выберите редактор электронных таблиц из списка.
Откроется диалоговое окно Внешние данные — лист <имя программы>.
-
Нажмите кнопку Обзор, откройте файл электронной таблицы, созданный на предыдущих этапах, и нажмите кнопку ОК.
Откроется окно мастера импорта электронных таблиц.
-
По умолчанию мастер выбирает первый лист в книге (в этом примере — лист Клиенты), и данные из этого листа появляются в нижней части страницы мастера. Нажмите кнопку Далее.
-
На следующей странице мастера выберите Первая строка содержит названия столбцов, а затем нажмите кнопку Далее.
-
Если нужно, вы можете изменить имена полей и типы данных или пропустить некоторые поля, воспользовавшись текстовыми полями и списками в группе Параметры поля. В противном случае нажмите кнопку Далее.
-
Оставьте параметр автоматически создать ключ выбранным и нажмите кнопку Далее.
-
По умолчанию Access использует имя листа для новой таблицы. Оставьте это имя или введите другое, а затем нажмите кнопку Готово.
-
Повторите шаги с 1 по 7 для каждого листа книги Excel, чтобы создать для него таблицу.
Переименование полей первичного ключа
Примечание: При импорте листов Access автоматически добавляет в каждую таблицу столбец первичного ключа и по умолчанию присваивает ему имя «Код» и тип данных «Счетчик». В этом разделе даны инструкции по переименованию полей первичного ключа. Это позволяет четко определить все поля в запросе.
-
В области навигации щелкните правой кнопкой мыши каждую таблицу, созданную на предыдущем шаге, и выберите команду Конструктор.
-
Для каждой таблицы найдите поле первичного ключа. По умолчанию Access присваивает каждому полю имя Код.
-
В столбце Имя поля каждого поля первичного ключа добавьте имя таблицы.
Например, вы должны переименовать поле ID таблицы Categories на «код категории», а поле для таблицы Orders — на «код заказа». В таблице «сведения о заказе» переименуйте поле на «Detail ID». В таблице Products (продукты) переименуйте поле на «код продукта».
-
Сохраните изменения.
В последующих ссылках на примеры таблиц в данной статье указываются поля первичного ключа, переименованные, как описано выше.
К началу страницы
Суммирования данных с помощью строки итогов
Чтобы добавить в запрос строку итогов, откройте его в режиме таблицы, добавьте строку, а затем выберите нужную агрегатную функцию, например Sum, Min, Max или Avg. В этом разделе объясняется, как создать простой запрос на выборку и добавить строку итогов. Не обязательно использовать примеры таблиц, представленные в предыдущем разделе.
Создание простого запроса на выборку
-
На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.
-
В диалоговом окне Отображение таблиц дважды щелкните таблицу или таблицы, которые вы хотите использовать в запросе, а затем нажмите кнопку Закрыть.
Выбранные таблицы отображаются в виде окон в верхней части конструктора запросов.
-
Дважды щелкните поля таблицы, которые вы хотите использовать в запросе.
Можно включить поля, содержащие описательные данные, например имена и описания, но следует обязательно добавить поле, содержащее числовые или денежные значения.
Каждое поле отображается в ячейке в бланке запроса.
-
Нажмите кнопку Выполнить
для выполнения запроса.
Результаты запроса будут отображены в режиме таблицы.
-
При необходимости переключитесь в Конструктор и скорректируйте запрос. Для этого щелкните правой кнопкой мыши вкладку документа для запроса и выберите команду Конструктор. После этого можно изменить запрос, добавив или удалив поля таблицы. Чтобы удалить поле, выберите столбец в бланке запроса и нажмите клавишу DELETE.
-
Сохраните запрос.
Добавление строки итогов
-
Убедитесь в том, что запрос открыт в режиме таблицы. Для этого щелкните правой кнопкой мыши вкладку документа для запроса и выберите команду Режим таблицы.
-или-
Дважды щелкните запрос в области навигации. Запрос будет выполнен, а его результаты будут загружены в таблицу.
-
На вкладке Главная в группе Записи нажмите кнопку Итоги.
В таблице появится новая строка Итог.
-
В строке Итог щелкните ячейку в поле, по которому вы хотите вычислить сумму, и выберите в списке функцию Sum.
Скрытие строки итогов
Дополнительные сведения об использовании строки итогов см. в разделе Отображение итогов по столбцу в таблице.
К началу страницы
Вычисление общих итогов с помощью запроса
Общие итоги — это сумма по всем значениям столбца. Можно вычислять нескольких типов общих итогов, включая:
-
Простой общий итог, суммирующий значения одного столбца. Например, можно вычислить общую стоимость доставки.
-
Вычисляемый общий итог, суммирующий значения нескольких столбцов. Например, можно вычислить суммы продаж путем умножения цены нескольких товаров на число заказанных товаров, а затем просуммировав результирующие значения.
-
Общий итог за исключением нескольких записей. Например, можно вычислить сумму продаж только по последней пятнице.
В следующих разделах описано, как вычислить каждый из типов общих итогов. В инструкциях используются таблицы «Заказы» и «Сведения о заказах».
Таблица «Заказы»
Идентификатор заказа |
Дата заказа |
Дата отгрузки |
Город назначения |
Стоимость доставки |
---|---|---|---|---|
1,1 |
14.11.2005 |
15.11. 2005 |
Jakarta (Джакарта) |
55,00 ₽ |
2 |
14.11.2005 |
15.11.2005 |
Сидней |
76,00 ₽ |
3 |
16.11.2005 |
17.11.2005 |
Санкт-Петербург |
87,00 ₽ |
4 |
17. 11.2005 |
18.11.2005 |
Москва |
43,00 ₽ |
5 |
17.11.2005 |
18.11.2005 |
Краснодар |
105,00 ₽ |
6 |
17.11.2005 |
18.11.2005 |
Новосибирск |
112,00 ₽ |
7 |
18. 11.2005 |
19.11.2005 |
Иркутск |
215,00 ₽ |
No8 |
19.11.2005 |
20.11.2005 |
Владивосток |
525,00 ₽ |
9 |
20.11.2005 |
21.11.2005 |
Иркутск |
198,00 ₽ |
10 |
20. 11.2005 |
21.11.2005 |
Краснодар |
187,00 ₽ |
11 |
21.11.2005 |
22.11.2005 |
Санкт-Петербург |
81,00 ₽ |
12 |
23.11.2005 |
24.11.2005 |
Москва |
92,00 ₽ |
Таблица «Сведения о заказах»
Код сведений |
Идентификатор заказа |
Наименование товара |
Код товара |
Цена за единицу |
Количество |
Скидка |
---|---|---|---|---|---|---|
1 |
1 |
Собери клавиатуру |
12 |
77,95 ₽ |
9 |
0,05 |
2 |
1,1 |
Недвижущаяся фигурка бюрократа |
2 |
78,88 ₽ |
4 |
0,075 |
3 |
2 |
Приступить к вашему компьютеру! С DVD-диска! |
7 |
14,88 ₽ |
6 |
0,04 |
четырехпроцессорном |
2 |
Волшебная микросхема |
4 |
32,65 ₽ |
No8 |
0,00 |
5 |
2 |
Компьютерные маньяки и мифические животные |
6 |
78,50 ₽ |
4 |
0,00 |
6 |
3 |
Доступ! Игра! |
5 |
22,95 ₽ |
5 |
0,15 |
7 |
4 |
Фигурка программиста |
1,1 |
12,95 ₽ |
2 |
0,06 |
No8 |
четырехпроцессорном |
Неуловимая летающая пицца |
No8 |
36,75 ₽ |
No8 |
0,04 |
9 |
5 |
Внешний дисковод гибких дисков 5. 25» (масштаб 1:4) |
9 |
65,00 ₽ |
4 |
0,10 |
5-10 |
6 |
Схема реляционной базы данных |
3 |
22,50 ₽ |
12 |
0,065 |
11 |
7 |
Тьма |
11 |
53,33 ₽ |
6 |
0,08 |
12 |
7 |
Схема реляционной базы данных |
3 |
22,50 ₽ |
4 |
0,09 |
Вычисление простого общего итога
-
На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.
-
В диалоговом окне Добавление таблицы дважды щелкните таблицу, которую вы хотите использовать в запросе, а затем нажмите кнопку Закрыть.
При использовании примера данных нужно дважды щелкнуть таблицу «Заказы».
Таблица появится в окне в верхней части конструктора запросов.
-
Дважды щелкните поле, для которого вы хотите найти сумму. Убедитесь, что поле имеет тип данных «Число» или «Денежный». При попытке суммировать значения в нечисловых полях, например в текстовом поле, Access выводит сообщение об ошибке Несоответствие типов данных в выражении условия отбора.
Если вы используете пример данных, дважды щелкните столбец «Стоимость доставки».
Вы можете добавить дополнительные числовые поля, если хотите вычислить для них общие итоги. Итоговый запрос может вычислять общие итоги для нескольких столбцов.
-
На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.
В бланке появится строка Итог, а в ячейке столбца «Стоимость доставки» будет указано Группировка.
-
Измените значение в ячейке строки Итог строки на Sum.
-
Чтобы выполнить запрос и отобразить результаты в режиме таблицы, нажмите кнопку Выполнить
.
Совет: Обратите внимание, что Access добавляет «Сумоф» к началу имени поля, которое вы хотите суммировать. Чтобы изменить заголовок столбца на более осмысленный, например Общееотгрузку, вернитесь в режим конструктора и щелкните в строке поле в столбце «сборы за доставку» в бланке запроса. Поместите курсор рядом с заГрузкой плата за отправку и введите слова всегоза отправку, а затем двоеточие, например: Общее отгрузку: сборы за доставку.
-
При необходимости вы можете сохранить запрос и закрыть его.
Вычисление общего итога за исключением нескольких записей
-
На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.
-
В диалоговом окне Добавление таблицы дважды щелкните таблицы «Заказы» и «Сведения о заказах», а затем нажмите кнопку Закрыть, чтобы закрыть диалоговое окно.
-
Добавьте поле «Дата заказа» из таблицы «Заказы» в первый столбец на бланке запроса.
-
В строке Условие отбора первого столбца введите Date() -1. Это выражение исключает записи с текущей датой из вычисляемого итогового значения.
-
Затем создайте столбец, который вычисляет объем продаж по каждой транзакции. Введите в строку Поле второго столбца на бланке следующее выражение:
Общее значение продаж: (1-[Сведения о заказах].[Скидка]/100)*([Сведения о заказах].[Цена за единицу]*[Сведения о заказах].[Количество])
Убедитесь, что выражение ссылается на поля с типами данных «Число» или «Денежный». Если оно ссылается на поля с другими типами данных, то при попытке выполнения запроса появится сообщение Несоответствие типов данных в выражении условия отбора.
-
На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.
В бланке появится строка Итог, а в первом и втором столбцах будет указано Группировка.
-
Во втором столбце измените значение в ячейке строки Итог строки на Sum. Функция Sum суммирует отдельные показатели продаж.
-
Чтобы выполнить запрос и отобразить результаты в режиме таблицы, нажмите кнопку Выполнить
.
-
Сохраните запрос с именем Продажи за день.
Примечание: При следующем открытии запроса в Конструкторе можно заметить небольшие изменения в значениях, указанных для строк Поле и Итог в столбце «Общее значение продаж». Выражение заключено в функцию Sum, а в строке Итог выводится Выражение вместо функции Sum.
Например, если вы использовали пример данных и создали запрос, как показано выше, будет отображено:
Общее значение продаж: Sum((1-[Сведения о заказах]. Скидка/100)*([Сведения о заказах].Цена*[Сведения о заказах].Количество))
К началу страницы
Вычисление итогов по группе с помощью итогового запроса
В этом разделе описано, как создать итоговый запрос для вычисления промежуточных итогов по группам данных. Помните, что по умолчанию итоговый запрос может включать только поле или поля, содержащие данные, по которым выполняется группировка, например поле «Категории», а также поля со значениями, которые вы хотите просуммировать, например поле «Продажи». Итоговые запросы не могут включать другие поля, описывающие значения внутри категории. Если вы хотите отобразить эти описательные данные, создайте второй запрос на выборку, объединяющий поля из итогового запроса с полями, содержащими дополнительные данные.
В этом разделе описано, как создавать итоговые запросы и запросы на выборку, если требуется определить объем продаж для каждого товара. В качестве примера используются следующие таблицы:
Таблицы «Товары»
Код товара |
Наименование товара |
Цена |
Категория |
---|---|---|---|
1,1 |
Фигурка программиста |
12,95 ₽ |
Куклы |
2 |
Эксперименты с C# (игра для всей семьи) |
15,85 ₽ |
Игры и головоломки |
3 |
Схема реляционной базы данных |
22,50 ₽ |
Картины и рамы |
4 |
Волшебная микросхема (500 деталей) |
32,65 ₽ |
Картины и рамы |
5 |
Доступ! Игра! |
22,95 ₽ |
Игры и головоломки |
6 |
Компьютерные маньяки и мифические животные |
78,50 ₽ |
Видеоигры |
7 |
Приступить к вашему компьютеру! С DVD-диска! |
14,88 ₽ |
DVD-диски и фильмы |
No8 |
Неуловимая летающая пицца |
36,75 ₽ |
Спортивное снаряжение |
9 |
Внешний дисковод гибких дисков 5. 25» (масштаб 1:4) |
65,00 ₽ |
Модели для сборки, хобби |
10 |
Недвижущаяся фигурка бюрократа |
78,88 ₽ |
Куклы |
11 |
Тьма |
53,33 ₽ |
Видеоигры |
12 |
Собери клавиатуру |
77,95 ₽ |
Модели для сборки, хобби |
Таблица «Сведения о заказах»
Код сведений |
Идентификатор заказа |
Наименование товара |
Код товара |
Цена за единицу |
Количество |
Скидка |
---|---|---|---|---|---|---|
1 |
1 |
Собери клавиатуру |
12 |
77,95 ₽ |
9 |
5% |
2 |
1,1 |
Недвижущаяся фигурка бюрократа |
2 |
78,88 ₽ |
4 |
7,5% |
3 |
2 |
Приступить к вашему компьютеру! С DVD-диска! |
7 |
14,88 ₽ |
6 |
4% |
4 |
2 |
Волшебная микросхема |
4 |
32,65 ₽ |
No8 |
до |
5 |
2 |
Компьютерные маньяки и мифические животные |
6 |
78,50 ₽ |
4 |
до |
6 |
3 |
Доступ! Игра! |
5 |
22,95 ₽ |
5 |
15% |
7 |
4 |
Фигурка программиста |
1,1 |
12,95 ₽ |
2 |
6% |
No8 |
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 меньше текущего Емпалиас, а затем форматирует поле в долларах.
Выполните запрос. Обратите внимание, что в поле Рунтот отображаются следующие записи с накопленной суммой:
RPI.su — самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected] . Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Строка «Итог» в Access позволяет быстро просматривать сводную информацию о данных в столбцах таблицы. Например, если добавить строку «Итог» в таблицу со сведениями о покупках, можно отобразить сумму продаж, общее число единиц товара или количество купленных товаров.
Примечание: Чтобы отобразить сумму значений столбца, необходимо установить для типа данных столбца значение «Числовой», «Дробный» или «Денежный». Для нечисловых столбцов можно выбрать только итоговый тип «Количество значений».
Добавление строки «Итого»
В области навигации дважды щелкните таблицу, запрос или разделенную форму, чтобы открыть ее в режиме таблицы.
На вкладке Главная в группе Записи нажмите кнопку Итоги.
Под таблицей появится строка Итог.
Щелкните в каждой ячейке строки Итого, где должен отображаться тот или иной итог, и выберите его тип.
Выбор типа итога
После добавления строки итогов вы выбираете тип итогового значения, отображаемого для каждого столбца. Например, агрегаты, такие как суммы, могут отображаться, если выбран тип данных «число», «десятичный» или «денежный». Подсчет значений возможно, если тип данных является текстовым значением.
Давайте сделаем так, чтобы в этом примере таблица отображала сумму значений в столбцах Цена покупки и Купленные товары и общее количество для столбца Позиция, как показано на изображении ниже.
Вместо слова Итого в первом столбце можно отобразить общее количество записей. Щелкните по строке Итоги для столбца элемент , щелкните стрелку и выберите команду подсчитать, чтобы увидеть общее количество элементов или число.
Потом щелкните стрелку в столбце Цена покупки и выберите пункт Сумма, чтобы увидеть общую цену покупки всех товаров.
Повторите предыдущий шаг для столбца Купленные товары, чтобы увидеть общее количество купленных товаров.
Примечание: Строку Итог нельзя удалить или вырезать, но можно скрыть, выбрав пункт Итоги на вкладке Главная.
Как работает «Сумма» и другие агрегатные функции
Агрегатные функции выполняют вычисления со столбцами данных и возвращают один результат. Они могут быть полезны, если вам нужно рассчитать единственное значение, например сумму или среднее. Следует помнить, что агрегатные функции применяются к столбцам данных. Это может показаться очевидным, но при разработке и использовании баз данных вы обычно уделяете внимание строкам данных и отдельным записям, чтобы пользователи могли вводить данные в поле, перемещать курсор вправо или влево для заполнения следующего поля и т. д. И наоборот, вы используете агрегатные функции, уделяя основное внимание группам записей в столбцах.
Предположим, что вы используете Access для хранения и отслеживания данных о продажах. С помощью агрегатных функций можно посчитать число проданных товаров в одном столбце, общую сумму продаж — во втором и средний объем продаж для каждого товара — в третьем.
В таблице ниже описаны агрегатные функции Access, которые доступны в строке «Итог». Помните, что в Access есть и другие агрегатные функции, но они используются в запросах.
Поддерживаемые типы данных
Доступна в строке «Итог»?
Вычисляет среднее значение для столбца. Столбец должен содержать числовые или денежные величины или значения даты или времени. Функция игнорирует пустые значения.
«Числовой», «Действительное», «Денежный», «Дата и время»
Подсчитывает число элементов в столбце.
Все типы данных, за исключением сложных повторяющихся скалярных данных, таких как столбец многозначных списков. Дополнительные сведения о многозначных списках можно найти в статье рекомендации по созданиюи удалению многозначных полей в руководствах , посвященных многозначным полям.
Возвращает элемент с наибольшим значением. Для текстовых данных наибольшим будет последнее по алфавиту значение, причем Access не учитывает регистр. Функция игнорирует пустые значения.
«Числовой», «Действительное», «Денежный», «Дата и время»
Возвращает элемент с наименьшим значением. Для текстовых данных наименьшим будет первое по алфавиту значение, причем Access не учитывает регистр. Функция игнорирует пустые значения.
«Числовой», «Действительное», «Денежный», «Дата и время»
Показывает, насколько значения отклоняются от среднего. Подробнее см. в следующем разделе Дополнительные сведения о функциях «Стандартное отклонение» и «Дисперсия».
«Числовой», «Действительное», «Денежный»
Суммирует элементы в столбце. Подходит только для числовых и денежных данных.
«Число», «Действительное», «Денежный»
Вычисляет статистическую дисперсию для всех значений в столбце. Подходит только для числовых и денежных данных. Если таблица содержит менее двух строк, Access возвращает пустое значение. Подробнее о функции «Дисперсия» см. в следующем разделе Дополнительные сведения о функциях «Стандартное отклонение» и «Дисперсия».
«Числовой», «Действительное», «Денежный»
Дополнительные сведения о функциях «Стандартное отклонение» и «Дисперсия»
Функции Стандартное отклонение и Дисперсия рассчитывают статистические значения. В частности, они применяются для значений, которые лежат в окрестности своего среднего значения и подчиняются закону нормального распределения (находятся на гауссовой кривой).
Предположим, что вы случайным образом выбрали 10 инструментов, изготовленных на одном станке, и измерили их прочность на излом для проверки станка и контроля качества. Если вы рассчитаете среднее значение прочности на излом, то увидите, что для большей части инструментов прочность на излом близка к среднему значению, но также есть инструменты с большими и меньшими показателями. Тем не менее если вы рассчитаете только среднее значение прочности на излом, этот показатель не даст вам никакой информации об эффективности контроля качества, поскольку несколько необычно прочных или хрупких инструментов могут увеличить или уменьшить среднее значение.
Функции вариативности и стандартных отклонений обозначают эту проблему, указывая, насколько близки значения к среднему. Для критической силы меньшие числа, возвращаемые одной из функций, указывают на то, что ваши производственные процессы работают нормально, так как некоторые из них имеют ограниченную степень, так как выше или ниже среднего.
Подробное описание дисперсии и стандартного отклонения выходит за рамки этой статьи. Дополнительные сведения об обеих функциях можно найти на веб-сайтах, посвященных статистике. При использовании функций Дисперсия и Стандартное отклонение помните о следующих правилах:
Эти функции игнорируют пустые значения.
Для функции Дисперсия используется формула:
Для функции Стандартное отклонение используется формула:
Суммирование в отчетах. Вычисляемые поля в запросах Access Чтобы создать отчет
Вычисления в формах используются:
- при создании вычисляемых полей, т. е. таких элементов управления, значения которых вычисляются на основе значений других элементов управления или встроенных функций;
- для вычисления значения по умолчанию элементов управления формы;
- в выражениях, с помощью которых задаются некоторые свойства элементов управления, например условие на значение, условия для отбора записей в форме и ряд других.
Правила составления выражений в Access мы уже описывали (см. разд. «Использование выражений в запросах» гл. 4). Поэтому здесь мы остановимся в первую очередь на вычисляемых полях формы и опишем, где они нужны и как их создать.
Внимание
Формулы для вычислений в Access записываются с помощью специального синтаксиса, который диктует правила записи формул и в выражениях Access и в процедурах на VBA. Этот синтаксис несколько отличается от принятого в математике, однако во многом на него похож и интуитивно понятен. Описание синтаксиса вычислительных формул приведено в разд. «Выражения в Access» гл. 4
.
Создание вычисляемых полей
Простейшим вычисляемым полем является поле, в котором должна выводиться текущая дата. Чтобы создать такое поле:
- Создайте свободный элемент управления типа Поле
(Text Box) в нужном месте формы. - Прямо в поле введите выражение =Date ()
. Знак равенства обязателен. - Откройте окно Свойства
(Properties) для этого элемента и задайте для свойства Формат поля
(Format) желаемый формат даты, например Длинный формат даты
(Long Date). - Установите длину поля таким образом, чтобы в нем помещалось необходимое количество символов.
- Измените название метки этого текстового поля. Созданное поле будет выглядеть, как показано на рис. 9.47.
Рис. 9.47
. Вычисляемое поле
Создание отчетов
Отчеты дают вам возможность представить компоненты вашей базы данных в удобном для чтения формате для печати. Access 2010 позволяет создавать отчеты из таблиц и запросов.
Чтобы создать отчет:
Подобно таблицам и запросам, отчеты можно сортировать и фильтровать. Просто щелкните правой кнопкой мыши поле, которое вы хотите сортировать или фильтровать, затем выберите нужную функцию сортировки или фильтрации.
Удаление полей
Вы можете обнаружить, что ваш отчет содержит некоторые поля, которые вам действительно не нужны. Например, наш отчет содержит поле Zip Code, которое не обязательно в этом списке заказов. К счастью, вы можете удалять поля в отчетах, не затрагивая таблицу или запрос, где вы вытащили ваши данные.
Чтобы удалить поле в отчете:
- Щелкните любую ячейку в поле, которое вы хотите удалить.
- Нажмите клавишу «Удалить».
Когда вы удаляете поле, обязательно удалите его заголовок. Просто выберите заголовок и нажмите клавишу «Удалить».
Печать и сохранение отчетов в режиме предварительного просмотра
Хотя вы можете печатать отчеты с помощью команд в представлении Backstage, вы также можете использовать Предварительный просмотр. Предварительный просмотр показывает, как ваш отчет будет отображаться на распечатанной странице. Он также позволяет вам изменять способ отображения отчета, распечатывать его и даже сохранять его как другой тип файла.
Чтобы распечатать отчет:
Сохранение отчетов
Вы можете сохранять отчеты в других форматах, чтобы они могли отображаться вне Access. Это называе
Сумма данных с помощью запроса
В этой статье объясняется, как использовать тип функции, называемой агрегатной функцией, для суммирования данных в наборе результатов запроса. В этой статье также кратко объясняется, как использовать другие агрегатные функции, такие как COUNT и AVG , для подсчета или усреднения значений в наборе результатов. Кроме того, в этой статье объясняется, как использовать строку итогов — функцию в Access, которую вы используете для суммирования данных без необходимости изменять структуру запросов.
Что ты хочешь сделать?
-
Понять способы суммирования данных
-
Подготовьте образцы данных
-
Суммирование данных с помощью строки итогов
-
Рассчитать общие итоги с помощью запроса
-
Вычислить итоговые данные по группе с помощью итогового запроса
-
Суммирование данных по нескольким группам с помощью запроса кросс-таблицы
-
Справочник по агрегатной функции
Общие сведения о способах суммирования данных
Вы можете просуммировать числовой столбец в запросе, используя тип функции, называемой агрегатной функцией. Агрегатные функции выполняют вычисление в столбце данных и возвращают одно значение. Access предоставляет множество агрегатных функций, включая Sum , Count , Avg (для вычисления средних значений), Min и Max . Вы суммируете данные, добавляя к запросу функцию Sum , подсчитываете данные с помощью функции Count и так далее.
Кроме того, Access предоставляет несколько способов добавить в запрос Sum и другие агрегатные функции.Вы можете:
-
Откройте запрос в режиме таблицы и добавьте строку Итого. Строка итогов, функция в Access, позволяет использовать агрегатную функцию в одном или нескольких столбцах набора результатов запроса без изменения структуры запроса.
-
Создать итоговый запрос. Итоговый запрос вычисляет промежуточные итоги по группам записей; Строка Итого вычисляет общие итоги для одного или нескольких столбцов (полей) данных.Например, если вы хотите подвести промежуточные итоги всех продаж по городам или по кварталам, вы используете итоговый запрос для группировки записей по желаемой категории, а затем суммируете цифры продаж.
-
Создайте запрос кросс-таблицы. Запрос кросс-таблицы — это особый тип запроса, результаты которого отображаются в сетке, напоминающей лист Excel. Запросы кросс-таблицы суммируют ваши значения, а затем группируют их по двум наборам фактов: один расположен сбоку (заголовки строк), а другой — сверху (заголовки столбцов).Например, вы можете использовать запрос кросс-таблицы для отображения общих продаж для каждого города за последние три года, как показано в следующей таблице:
Город |
2003 |
2004 |
2005 |
---|---|---|---|
Париж |
254 556 |
372 455 |
467 892 |
Сидней |
478 021 |
372 987 |
276 399 |
Джакарта |
572,997 |
684 374 |
792 571 |
. .. |
… |
… |
… |
Примечание: Разделы с практическими рекомендациями в этом документе подчеркивают использование функции Sum , но помните, что вы можете использовать другие агрегатные функции в своих строках и запросах Total.Дополнительные сведения об использовании других агрегатных функций см. В разделе «Справка по агрегатным функциям» далее в этой статье.
Дополнительные сведения о способах использования других агрегатных функций см. В статье Отображение итоговых значений столбцов в таблице.
Шаги, описанные в следующих разделах, объясняют, как добавить строку итогов, использовать итоговый запрос для суммирования данных по группам и как использовать перекрестный запрос, который вычисляет промежуточные итоги по группам и временным интервалам. По мере продвижения помните, что многие агрегатные функции работают только с данными в полях, для которых задан определенный тип данных. Например, функция SUM работает только с полями, для которых заданы типы данных Number, Decimal или Currency. Дополнительные сведения о типах данных, необходимых для каждой функции, см. В разделе «Справка по агрегатным функциям» далее в этой статье.
Общие сведения о типах данных см. В статье «Изменение или изменение типа данных, установленного для поля».
Верх страницы
Подготовьте образцы данных
Разделы с практическими рекомендациями в этой статье содержат таблицы с примерами данных. В инструкциях используются примеры таблиц, чтобы помочь вам понять, как работают агрегатные функции. При желании вы можете при желании добавить образцы таблиц в новую или существующую базу данных.
Access предоставляет несколько способов добавления этих примеров таблиц в базу данных. Вы можете ввести данные вручную, вы можете скопировать каждую таблицу в программу для работы с электронными таблицами, такую как Excel, а затем импортировать листы в Access, или вы можете вставить данные в текстовый редактор, например Блокнот, и импортировать данные из полученных текстовых файлов.
Шаги в этом разделе объясняют, как вручную ввести данные в пустую таблицу и как скопировать образцы таблиц в программу для работы с электронными таблицами, а затем импортировать эти таблицы в Access. Дополнительные сведения о создании и импорте текстовых данных см. В статье Импорт данных в текстовом файле или создание ссылки на них.
В инструкциях в этой статье используются следующие таблицы. Используйте эти таблицы для создания ваших выборочных данных:
Категории Таблица:
Категория |
---|
Куклы |
Игры и головоломки |
Искусство и обрамление |
Видеоигры |
DVD и фильмы |
Модели и хобби |
Спорт |
The Products table:
Название продукта |
Цена |
Категория |
---|---|---|
Фигурка программатора |
$ 12. 95 |
Куклы |
Fun with C # (настольная игра для всей семьи) |
$ 15,85 |
Игры и головоломки |
Схема реляционной базы данных |
$ 22.50 |
Искусство и обрамление |
Волшебный компьютерный чип (500 штук) |
$ 32,65 |
Игры и головоломки |
Доступ! Игра! |
$ 22.95 |
Игры и головоломки |
Компьютерные фанаты и мифические существа |
78,50 $ |
Видеоигры |
Упражнение для компьютерных фанатов! DVD! |
$ 14. 88 |
DVD и фильмы |
Ultimate Flying Pizza |
$ 36,75 |
Спорт |
Внешний 5,25-дюймовый дисковод для гибких дисков (масштаб 1/4) |
65 долларов.00 |
Модели и хобби |
Бюрократ, фигура бездействия |
$ 78,88 |
Куклы |
Мрак |
$ 53.33 |
Видеоигры |
Создайте свою клавиатуру |
$ 77. 95 |
Модели и хобби |
The Orders таблица:
Дата заказа |
Дата отгрузки |
Корабельный город |
Стоимость доставки |
---|---|---|---|
14.11.2005 |
15.11.2005 |
Джакарта |
55 долларов США. 00 |
14.11.2005 |
15.11.2005 |
Сидней |
76,00 $ |
16.11.2005 |
17.11.2005 |
Сидней |
$ 87.00 |
17.11.2005 |
18.11.2005 |
Джакарта |
43,00 |
17.11.2005 |
18.11.2005 |
Париж |
105 долларов. 00 |
17.11.2005 |
18.11.2005 |
Штутгарт |
112,00 |
18.11.2005 |
19.11.2005 |
Вена |
215 долларов.00 |
19.11.2005 |
20.11.2005 |
Майами |
525,00 $ |
20.11.2005 |
21.11.2005 |
Вена |
198 $. 00 |
20.11.2005 |
21.11.2005 |
Париж |
187,00 $ |
21.11.2005 |
22.11.2005 |
Сидней |
$ 81.00 |
23.11.2005 |
24.11.2005 |
Джакарта |
92,00 |
The Детали заказа таблица:
Код заказа |
Название продукта |
Идентификатор продукта |
Цена за единицу |
Кол-во |
Скидка |
---|---|---|---|---|---|
1 |
Создайте свою клавиатуру |
12 |
77 долларов. 95 |
9 |
5% |
1 |
Бюрократ, фигура бездействия |
2 |
78 долларов.88 |
4 |
7,5% |
2 |
Упражнение для компьютерных фанатов! DVD! |
7 |
$ 14.88 |
6 |
4% |
2 |
Волшебный компьютерный чип |
4 |
$ 32. 65 |
8 |
0 |
2 |
Компьютерные фанаты и мифические существа |
6 |
78 долларов.50 |
4 |
0 |
3 |
Доступ! Игра! |
5 |
$ 22.95 |
5 |
15% |
4 |
Фигурка программиста |
1 |
$ 12. 95 |
2 |
6% |
4 |
Ultimate Flying Pizza |
8 |
$ 36.75 |
8 |
4% |
5 |
Внешний 5,25-дюймовый дисковод для гибких дисков (масштаб 1/4) |
9 |
65 долларов.00 |
4 |
10% |
6 |
Схема реляционной базы данных |
3 |
$ 22. 50 |
12 |
6,5% |
7 |
Мрак |
11 |
$ 53,33 |
6 |
8% |
7 |
Схема реляционной базы данных |
3 |
$ 22.50 |
4 |
9% |
Примечание. Помните, что в типичной базе данных таблица сведений о заказе будет содержать только поле «Идентификатор продукта», а не поле «Название продукта». В таблице-образце используется поле «Название продукта», чтобы облегчить чтение данных.
Введите данные образца вручную
-
На вкладке Создать в группе Таблицы щелкните Таблица .
Access добавляет новую пустую таблицу в вашу базу данных.
Примечание: Вам не нужно выполнять этот шаг, если вы открываете новую пустую базу данных, но вам нужно будет следовать ему всякий раз, когда вам нужно добавить таблицу в базу данных.
-
Дважды щелкните первую ячейку в строке заголовка и введите имя поля в образце таблицы.
По умолчанию Access обозначает пустые поля в строке заголовка с текстом Добавить новое поле , например:
-
Используйте клавиши со стрелками, чтобы перейти к следующей пустой ячейке заголовка, и введите второе имя поля (вы также можете нажать TAB или дважды щелкнуть новую ячейку).Повторяйте этот шаг, пока не введете все имена полей.
-
Введите данные в примерную таблицу.
По мере ввода данных Access определяет тип данных для каждого поля. Если вы новичок в реляционных базах данных, вам следует установить определенный тип данных, например число, текст или дату / время, для каждого поля в ваших таблицах. Установка типа данных помогает обеспечить точный ввод данных, а также помогает предотвратить ошибки, например использование номера телефона в вычислениях.Для этих примеров таблиц вы должны позволить Access определить тип данных.
-
Когда вы закончите ввод данных, нажмите Сохранить .
Сочетание клавиш Нажмите CTRL + S.
Появится диалоговое окно Сохранить как .
-
В поле Table Name введите имя образца таблицы и нажмите OK .
Вы используете имя каждой примерной таблицы, потому что запросы в разделах с практическими рекомендациями используют эти имена.
-
Повторяйте эти шаги, пока не создадите все образцы таблиц, перечисленные в начале этого раздела.
Если вы не хотите вводить данные вручную, выполните следующие действия, чтобы скопировать данные в файл электронной таблицы, а затем импортировать данные из файла электронной таблицы в Access.
Создайте образцы рабочих листов
-
Запустите программу для работы с электронными таблицами и создайте новый пустой файл. Если вы используете Excel, по умолчанию создается новая пустая книга.
-
Скопируйте первый образец таблицы, представленной выше, и вставьте ее в первый рабочий лист, начиная с первой ячейки.
-
Переименуйте рабочий лист, используя технику, предоставленную вашей программой для работы с электронными таблицами.Дайте листу то же имя, что и образец таблицы. Например, если образец таблицы называется Категории , дайте рабочему листу такое же имя.
-
Повторите шаги 2 и 3, скопировав каждую примерную таблицу на пустой рабочий лист и переименовав рабочий лист.
Примечание: Возможно, вам потребуется добавить рабочие листы в файл электронной таблицы. Информацию о выполнении этой задачи см. В справке к программе для работы с электронными таблицами.
-
Сохраните книгу в удобном месте на вашем компьютере или в сети и перейдите к следующему набору шагов.
Создание таблиц базы данных из рабочих листов
-
На вкладке Внешние данные в группе Импорт щелкните Excel .
-или-
Щелкните More , а затем выберите программу для работы с электронными таблицами из списка.
Откроется диалоговое окно «Получение внешних данных — таблица имени программы» .
-
Щелкните Обзор , откройте файл электронной таблицы, созданный на предыдущих шагах, а затем щелкните ОК .
Запустится мастер импорта электронной таблицы.
-
По умолчанию мастер выбирает первый рабочий лист в книге (рабочий лист Customers , если вы выполнили действия, описанные в предыдущем разделе), и данные из рабочего листа отображаются в нижнем разделе страницы мастера.Щелкните Далее .
-
На следующей странице мастера щелкните Первая строка содержит заголовки столбцов , а затем щелкните Далее .
-
При желании на следующей странице используйте текстовые поля и списки в разделе Параметры поля , чтобы изменить имена полей и типы данных или исключить поля из операции импорта. В противном случае щелкните Далее .
-
Оставьте выбранной опцию Разрешить доступу добавлять первичный ключ и нажмите Далее .
-
По умолчанию Access применяет имя рабочего листа к вашей новой таблице. Подтвердите имя или введите другое имя, а затем нажмите Finish .
- Повторяет шаги с 1 по 7, пока вы не создадите таблицу из каждого рабочего листа в книге.
Переименовать поля первичного ключа
Примечание. Когда вы импортировали рабочие листы, Access автоматически добавил столбец первичного ключа в каждую таблицу и, по умолчанию, Access назвал этот столбец «ID» и установил для него тип данных AutoNumber. Приведенные здесь шаги объясняют, как переименовать каждое поле первичного ключа. Это помогает четко идентифицировать все поля в запросе.
-
В области навигации щелкните правой кнопкой мыши каждую из таблиц, созданных на предыдущих шагах, и выберите Design View .
-
Найдите поле первичного ключа для каждой таблицы. По умолчанию Access именует каждое поле ID .
-
В столбце Имя поля для каждого поля первичного ключа добавьте имя таблицы.
Например, вы бы переименовали поле идентификатора в таблице категорий в «ID категории», а поле таблицы «Заказы» — на «идентификатор заказа.«В таблице« Сведения о заказе »переименуйте поле в« Идентификатор детали ». Для таблицы« Товары »переименуйте поле в« Идентификатор продукта ».
-
Сохраните изменения.
Каждый раз, когда в этой статье появляются примеры таблиц, они включают поле первичного ключа, и поле переименовывается, как описано в предыдущих шагах.
Верх страницы
Суммирование данных с использованием строки итогов
Вы можете добавить строку итогов в запрос, открыв запрос в режиме таблицы, добавив строку, а затем выбрав агрегатную функцию, которую вы хотите использовать, например Sum , Min , Max или В среднем .Шаги в этом разделе объясняют, как создать базовый запрос выбора и добавить строку Итого. Вам не нужно использовать образцы таблиц, описанные в предыдущем разделе.
Создать базовый запрос выбора
-
В диалоговом окне Показать таблицы дважды щелкните таблицу или таблицы, которые вы хотите использовать в своем запросе, а затем щелкните Закрыть .
Выбранная таблица или таблицы отображаются в виде окон в верхней части конструктора запросов.
-
Дважды щелкните поля таблицы, которые вы хотите использовать в своем запросе.
Вы можете включить поля, содержащие описательные данные, такие как имена и описания, но вы должны включить поле, которое содержит числовые или валютные данные.
Каждое поле отображается в ячейке сетки дизайна.
-
Нажмите Выполните
для выполнения запроса.Набор результатов запроса отображается в режиме таблицы.
-
При желании переключитесь в представление «Дизайн» и настройте запрос. Для этого щелкните правой кнопкой мыши вкладку документа для запроса и выберите Design View . Затем вы можете настроить запрос по мере необходимости, добавив или удалив поля таблицы.Чтобы удалить поле, выберите столбец в сетке дизайна и нажмите DELETE.
-
Сохраните ваш запрос.
На вкладке Create в группе Other щелкните Query Design .
Добавить строку итогов
-
На вкладке Home в группе Records щелкните Totals .
В таблице появится новая строка Итого .
-
В строке Итого щелкните ячейку в поле, которое вы хотите суммировать, а затем выберите Сумма из списка.
Убедитесь, что ваш запрос открыт в режиме таблицы. Для этого щелкните правой кнопкой мыши вкладку документа для запроса и выберите Datasheet View .
-или-
В области навигации дважды щелкните запрос.Это запускает запрос и загружает результаты в таблицу.
Скрыть строку итогов
Для получения дополнительных сведений об использовании строки итогов см. Статью Отображение итоговых значений столбцов в таблице.
Верх страницы
Расчет общих итогов с помощью запроса
Общий итог — это сумма всех значений в столбце. Вы можете рассчитать несколько типов общих итогов, в том числе:
-
Простая общая сумма, которая суммирует значения в одном столбце.Например, вы можете рассчитать общую стоимость доставки.
-
Расчетная общая сумма, которая суммирует значения в более чем одном столбце. Например, вы можете рассчитать общий объем продаж, умножив стоимость нескольких товаров на количество заказанных товаров, а затем суммируя полученные значения.
-
Общая сумма без учета некоторых записей. Например, вы можете подсчитать общий объем продаж только за прошлую пятницу.
Шаги, описанные в следующих разделах, объясняют, как создать каждый тип общей суммы. В шагах используются таблицы «Заказы» и «Сведения о заказах».
Стол заказов
Код заказа |
Дата заказа |
Дата отгрузки |
Корабельный город |
Стоимость доставки |
---|---|---|---|---|
1 |
14. 11.2005 |
15.11.2005 |
Джакарта |
55 долларов США.00 |
2 |
14.11.2005 |
15.11.2005 |
Сидней |
76,00 $ |
3 |
16.11.2005 |
17.11.2005 |
Сидней |
$ 87.00 |
4 |
17. 11.2005 |
18.11.2005 |
Джакарта |
43,00 |
5 |
17.11.2005 |
18.11.2005 |
Париж |
105 долларов.00 |
6 |
17.11.2005 |
18.11.2005 |
Штутгарт |
112,00 |
7 |
18. 11.2005 |
19.11.2005 |
Вена |
215 долларов.00 |
8 |
19.11.2005 |
20.11.2005 |
Майами |
525,00 $ |
9 |
20.11.2005 |
21.11.2005 |
Вена |
198 $.00 |
10 |
20. 11.2005 |
21.11.2005 |
Париж |
187,00 $ |
11 |
21.11.2005 |
22.11.2005 |
Сидней |
$ 81.00 |
12 |
23.11.2005 |
24.11.2005 |
Джакарта |
92,00 |
Таблица деталей заказа
ID детали |
Код заказа |
Название продукта |
Идентификатор продукта |
Цена за единицу |
Кол-во |
Скидка |
---|---|---|---|---|---|---|
1 |
1 |
Создайте свою клавиатуру |
12 |
77 долларов. 95 |
9 |
0,05 |
2 |
1 |
Бюрократ, фигура бездействия |
2 |
78 долларов.88 |
4 |
0,075 |
3 |
2 |
Упражнение для компьютерных фанатов! DVD! |
7 |
$ 14.88 |
6 |
0,04 |
4 |
2 |
Волшебный компьютерный чип |
4 |
$ 32. 65 |
8 |
0,00 |
5 |
2 |
Компьютерные фанаты и мифические существа |
6 |
78 долларов.50 |
4 |
0,00 |
6 |
3 |
Доступ! Игра! |
5 |
$ 22.95 |
5 |
0,15 |
7 |
4 |
Фигурка программиста |
1 |
$ 12. 95 |
2 |
0,06 |
8 |
4 |
Ultimate Flying Pizza |
8 |
$ 36.75 |
8 |
0,04 |
9 |
5 |
Внешний 5,25-дюймовый дисковод для гибких дисков (масштаб 1/4) |
9 |
65 долларов.00 |
4 |
0,10 |
10 |
6 |
Схема реляционной базы данных |
3 |
$ 22. 50 |
12 |
0,065 |
11 |
7 |
Мрак |
11 |
$ 53.33 |
6 |
0,08 |
12 |
7 |
Схема реляционной базы данных |
3 |
$ 22.50 |
4 |
0,09 |
Вычислить простую общую сумму
-
В диалоговом окне Показать таблицу дважды щелкните таблицу, которую вы хотите использовать в запросе, а затем щелкните Закрыть .
Если вы используете образец данных, дважды щелкните таблицу заказов.
Таблица появится в окне в верхней части конструктора запросов.
-
Дважды щелкните поле, которое вы хотите суммировать. Убедитесь, что в поле задан тип данных Число или Валюта. Если вы попытаетесь суммировать значения в нечисловых полях, таких как текстовое поле, Access отобразит несоответствие типа данных в выражении критерия сообщение об ошибке при попытке выполнить запрос.
Если вы используете образец данных, дважды щелкните столбец Стоимость доставки.
Вы можете добавить в сетку дополнительные числовые поля, если хотите вычислить общие итоги для этих полей. Итоговый запрос может вычислять общие итоги для более чем одного столбца.
-
На вкладке Design в группе Показать / скрыть щелкните Totals .
Строка Итого появится в сетке проекта, а Группировать по появится в ячейке в столбце Стоимость доставки.
-
Измените значение в ячейке в строке Итого на Сумма .
- Нажмите Выполните
для запуска запроса и отображения результатов в режиме таблицы.Совет: Обратите внимание, что Access добавляет «SumOf» в начало имени поля, которое вы суммируете. Чтобы изменить заголовок столбца на что-то более значимое, например Общая стоимость доставки , вернитесь в представление «Дизайн» и щелкните строку Поле столбца «Стоимость доставки» в сетке дизайна.Поместите курсор рядом с Стоимость доставки и введите слова Общая стоимость доставки с последующим двоеточием, например: Общая стоимость доставки: Стоимость доставки .
-
При желании сохраните запрос и закройте его.
На вкладке Create в группе Other щелкните Query Design .
Вычислить общую сумму без учета некоторых записей
-
В диалоговом окне Показать таблицу дважды щелкните таблицу заказов и таблицу сведений о заказе, а затем щелкните Закрыть , чтобы закрыть диалоговое окно.
-
Добавьте поле «Дата заказа» из таблицы «Заказы» в первый столбец в сетке конструктора запросов.
-
В строке Criteria первого столбца введите Date () -1 .Это выражение исключает записи текущего дня из вычисленной суммы.
-
Затем создайте столбец, в котором рассчитывается сумма продаж для каждой транзакции. Введите следующее выражение в строке Поле второго столбца сетки:
Общая сумма продаж: (1- [Сведения о заказе]. [Скидка] / 100) * ([Сведения о заказе]. [Цена за единицу] * [Сведения о заказе]. [Количество])
Убедитесь, что ваше выражение ссылается на поля, для которых заданы типы данных Number или Currency.Если ваше выражение относится к полям, для которых заданы другие типы данных, Access отображает сообщение Несоответствие типов данных в выражении критерия при попытке выполнить запрос.
-
На вкладке Design в группе Показать / скрыть щелкните Totals .
Строка Итого отображается в сетке проекта, а Группировать по отображается в первом и втором столбцах.
-
Во втором столбце измените значение в ячейке строки Total на Sum . Функция Sum складывает отдельные показатели продаж.
-
Нажмите Выполните
для запуска запроса и отображения результатов в режиме таблицы. -
Сохраните запрос как Ежедневные продажи .
Примечание: В следующий раз, когда вы откроете запрос в представлении «Дизайн», вы можете заметить небольшое изменение значений, указанных в строках Поле и Всего столбца Суммарное значение продаж. Выражение заключено внутри функции Sum , а в строке Total вместо Sum отображается Expre ssion .
Например, если вы используете образец данных и создаете запрос (как показано на предыдущих шагах), вы увидите:
Общая сумма продаж: Сумма ((1- [Детали заказа].Скидка / 100) * ([Детали заказа]. Unitprice * [Детали заказа]. Количество))
На вкладке Create в группе Other щелкните Query Design .
Верх страницы
Вычислить итоговые суммы по группе с помощью итогового запроса
Шаги в этом разделе объясняют, как создать итоговый запрос, который вычисляет промежуточные итоги по группам данных. По мере продолжения помните, что по умолчанию итоговый запрос может включать только поле или поля, содержащие данные вашей группы, такие как поле «категории», и поле, содержащее данные, которые вы хотите суммировать, например » продажи ».Итоговые запросы не могут включать другие поля, описывающие элементы в категории. Если вы хотите увидеть эти описательные данные, вы можете создать второй запрос выбора, который объединяет поля в вашем итоговом запросе с дополнительными полями данных.
Шаги в этом разделе объясняют, как создать итоги и выбрать запросы, необходимые для определения общих продаж для каждого продукта. Шаги предполагают использование этих примеров таблиц:
Таблица товаров
Идентификатор продукта |
Название продукта |
Цена |
Категория |
---|---|---|---|
1 |
Фигурка программатора |
$ 12. 95 |
Куклы |
2 |
Fun with C # (настольная игра для всей семьи) |
$ 15,85 |
Игры и головоломки |
3 |
Схема реляционной базы данных |
$ 22.50 |
Искусство и обрамление |
4 |
Волшебный компьютерный чип (500 штук) |
$ 32,65 |
Искусство и обрамление |
5 |
Доступ! Игра! |
$ 22. 95 |
Игры и головоломки |
6 |
Компьютерные фанаты и мифические существа |
78,50 $ |
Видеоигры |
7 |
Упражнение для компьютерных фанатов! DVD! |
$ 14.88 |
DVD и фильмы |
8 |
Ultimate Flying Pizza |
$ 36,75 |
Спорт |
9 |
Внешний 5. 25-дюймовый дисковод гибких дисков (масштаб 1/4) |
65,00 $ |
Модели и хобби |
10 |
Бюрократ, фигура бездействия |
$ 78,88 |
Куклы |
11 |
Мрак |
$ 53.33 |
Видеоигры |
12 |
Создайте свою клавиатуру |
$ 77.95 |
Модели и хобби |
Таблица деталей заказа
ID детали |
Код заказа |
Название продукта |
Идентификатор продукта |
Цена за единицу |
Кол-во |
Скидка |
---|---|---|---|---|---|---|
1 |
1 |
Создайте свою клавиатуру |
12 |
77 долларов. 95 |
9 |
5% |
2 |
1 |
Бюрократ, фигура бездействия |
2 |
78 долларов.88 |
4 |
7,5% |
3 |
2 |
Упражнение для компьютерных фанатов! DVD! |
7 |
$ 14.88 |
6 |
4% |
4 |
2 |
Волшебный компьютерный чип |
4 |
$ 32. 65 |
8 |
0 |
5 |
Советы Microsoft Access: вычисляемые поля
Советы Microsoft Access: вычисляемые поля
Советы Microsoft Access для обычных пользователей
Предоставлено Алленом Брауном, ноябрь 2003 г.Обновлено в апреле 2010 г.
Как получить доступ для сохранения результата расчета?
Например, если у вас есть поля с именами Quantity и UnitPrice , как получить доступ для записи Quantity * UnitPrice в другое поле с именем Amount ?
Лучший ответ: «Не надо!»
Вычисляемые поля принадлежат запросам, а не таблицам.
Вычисляемые столбцы являются частью жизни электронной таблицы, но не принадлежат таблице базы данных.Никогда не храните значение, зависящее от других полей: это основное правило нормализации. Нарушите правило, и вам придется беспокоиться о том, как правильно вести расчет во всех возможных обстоятельствах.
Спросите себя, «Было бы неправильно, если бы мое поле содержало значение, отличное от вычисленного?» Если вы ответили «Да», вы не должны сохранять поле. Если разница будет значимой, вам нужно поле.
Итак, как получить вычисляемое поле, если не хранить его в таблице? Используйте запрос:
- Создайте запрос на основе вашей таблицы.
- Введите свое выражение в строку «Поле» сетки конструктора запроса:
Сумма: [Количество] * [UnitPrice]
Это создает поле с именем Amount . Любая форма или отчет, основанные на этом запросе, обрабатывают вычисляемое поле как любое другое, поэтому вы можете легко суммировать результаты. Это просто, эффективно и надежно.
Что ж, почти безошибочно: ваши вычисляемые поля могут быть неправильно истолкованы.
Вы все равно хотите сохранить вычисленный результат?
Существуют обстоятельства, при которых имеет смысл сохранить вычисленный результат — обычно, когда вам иногда требуется гибкость, чтобы сохранить другое значение.
Допустим, вы взимаете плату за строительство, которая обычно составляет дополнительные 10%, но для получения некоторых предложений вы можете отказаться от платы. Вычисляемое поле работать не будет. В этом случае имеет смысл иметь запись, в которой комиссия составляет 0 долларов вместо 10%, поэтому вы должны сохранить ее как поле в таблице.
Для этого используйте событие After Update элементов управления в форме, чтобы автоматически рассчитать комиссию:
- Задайте для свойства После обновления текстового поля Количество значение [Процедура события].
- Нажмите кнопку «Построить» (…) рядом с этим. Access открывает окно кода.
- Введите эту строку между строками Private Sub … и End Sub :
Private Sub Quantity_AfterUpdate () Me.Fee = Round (Me.Quantity * Me.UnitPrice * 0,1, 2) Концевой переводник
- Установите для свойства After Update текстового поля UnitPrice значение [Процедура события] и нажмите кнопку «Построить».
- Введите эту строку:
Частная подгруппаPrice_AfterUpdate () Вызов Quantity_AfterUpdate Концевой переводник
Теперь при изменении Quantity или UnitPrice Access автоматически рассчитывает новую плату, но пользователь может отменить расчет и при необходимости ввести другую плату.
Если вас беспокоит, как пользователь может ввести вычисленную сумму с таким расположением, см. Ввод текста в вычисляемых элементах управления.
А как насчет вычисляемых полей в Access 2010?
Access 2010 позволяет поместить вычисляемое поле в таблицу, например:
Просто выберите «Рассчитано» в типе данных, и под ним появится выражение. Введите выражение. Затем Access будет рассчитывать его каждый раз, когда вы вводите свою запись.
Это может показаться простым, но это создает больше проблем, которые оно решает. Вы быстро обнаружите, что выражения ограничены. Вы также обнаружите, что это делает вашу базу данных бесполезной для всех, кому необходимо использовать ее в Access 2007. Вместо чтения данных они получат такое сообщение:
Что еще более серьезно, результаты расчетов ненадежны. Если вы измените выражение после того, как данные были введены в таблицу, существующие результаты могут быть обновлены некорректно (через новые записи обновляются правки), поэтому вы не можете полагаться на результаты.Компактность / ремонт не пересчитываются, поэтому нет очевидного способа исправить плохие результаты.
Поскольку вы все равно не можете индексировать вычисляемые поля, их использование не принесет никакой выгоды в производительности. Вы нарушаете фундаментальные правила нормализации данных без всякой пользы. Мы рекомендуем использовать запросы для вычисляемых полей, как и в предыдущих версиях.
Как работать с датой и временем в Microsoft Access
Советы по обеспечению того, чтобы даты правильно вводились и сохранялись в базе данных Access, а затем обрабатывались должным образом в формулах, формах, запросах и отчетах.
На этой странице:
Последнее обновление: 26 мая 2020 г., автор: Дэвид Уоллис.
Что такое дата
Подумайте, какой вы понимаете дату, когда читаете 24/09/2019. Вы и ваш компьютер, вероятно, согласны, что 24.09.2019 относится ко вторнику 24 сентября 2019 года.
Если вы работаете в Соединенных Штатах и думаете, что я британец, пишущий эту статью, вы можете предположить, что я имел в виду 24 сентября 2019 г.
А как насчет перевода 09.12.2019?
Принимая план дат, разработчик базы данных должен иметь в виду такие вопросы:
- Является ли запись Access даты ввода той же датой, которую хочет записать пользователь?
- Регистрируется ли зарегистрированная дата как одна и та же для всех пользователей базы данных?
- Правильно ли работают мои запросы, если они включают фильтры по датам или выражения, основанные на датах?
- Будут ли даты в отчетах, созданных базой данных и отправленных людям за пределами офиса, правильно понять получатели этих отчетов?
Настройки региона вашего компьютера
Большая часть реакции Access на дату и время определяется регионом , в котором установлен компьютер, который вы используете.Настройка находится в панели управления Windows 10: откройте панель управления и перейдите через Часы и регион —
.
для отображения диалогового окна «Регион» —
Настройки, показанные выше, относятся к моему компьютеру, поставленному мне в Великобритании. Я не изменяю эти настройки по умолчанию по причинам, которые я объясню ниже. Я проиллюстрирую их здесь, потому что они влияют на результаты некоторых тестов, связанных с проведением Access дат и времени, которые указаны ниже.
Как разработчик базы данных, я никогда не настаиваю на том, чтобы клиент использовал один набор языковых предпочтений вместо другого. Я считаю, что я должен заставить базу данных правильно управлять датами и временем, независимо от того, какие изменения конкретный пользователь может сделать со своими настройками Windows.
Даты и время доступа
Access сохраняет введенные данные в поле даты / времени как число с плавающей запятой; то есть число с целой и десятичной частью. Целая часть — это дата , десятичная часть — время .
Целая часть числа, хранящегося в поле «Дата / время», относится к встроенному календарю Access, который работает с 1 января 100 г. н.э. по 31 декабря 9999 г. Access хранит 1 января 100 CE под номером -657434; 31 декабря 9999 г. н.э., as 2958465.
Считайте по одному на каждый день с 1 января 100 г. н.э. до даты, которую вы имеете в виду, и у вас есть количество магазинов Access, представляющее эту дату. Сосчитайте 43843, и вы будете 13 января 2020 года.
Десятичная часть числа, хранящегося в поле «Дата / время», представляет время как долю 24 часов.0,66666 представляет 15:59:59 — почти две трети пути в течение дня, на 15 часов 59 минут 59 секунд. Добавьте еще один десятичный знак — 0,66666 6 — для точного получения 16:00:00.
Число с цифрами слева и справа от десятичной точки — это то, как Access сохраняет дату и время вместе. Например, 44790,25 — это 6:00:00 17 августа 2022 года.
Изучение даты и времени в доступе
Вы можете использовать окно Immediate Window в редакторе Visual Basic Access, чтобы проверить, как Access работает с датами.Скопируйте и вставьте любой из примеров ниже в ваше окно Immediate Window, а затем нажмите Enter, чтобы увидеть результат .
? Формат (44790.25, «дд / мм / гггг чч: нн: сс AM / PM»)
17.08.2022 06:00:00
Функция Format (, дата , формат ) отображает значение, присвоенное ее первому аргументу — в данном случае 44790.25 — в формате, присвоенном второму аргументу.
Результат выглядит так, как я ожидал, потому что назначенный мной формат соответствует языковым настройкам, установленным на моем компьютере.
Что делать, если я испорчу назначенный формат?
? Формат (44790,25, «мм / дд / гггг чч: нн: сс AM / PM»)
17.08.2022 06:00:00
Access не волнует изменение формата. Форматирование носит косметический характер — только для внешнего вида. Для Access важно то, что дата — 44790.25.
Здесь мы опустили секунды и компоненты AM / PM:
? Формат (44790.25, «дд / мм / гггг чч: нн»)
17.08.2022 06:00
Формат
при необходимости настраивается на 24-часовой формат:
? Формат (44790.75, «дд / мм / гггг чч: нн»)
17.08.2022 18:00
Обратите внимание, что минуты обозначаются буквами «n», чтобы отличить их от «m» для месяцев.
Вот несколько примеров, демонстрирующих гибкость функции форматирования:
? Формат (44790,75, «дддд д мммм, гггг») «>
Среда 17 августа 8, 2022
? Формат (44790,75, «дд-ммм-гггг»)>
17 августа 2022 г.
? Формат (44790,75, «гггг-мм-дд»)
2022-08-17
«dddd» и «mmmm» заставляет Format указывать дни и месяцы полностью; «Ддд» и «ммм», только первые три буквы.
Функции даты и настоящего
Функция
Access и Date () VBA возвращает текущую дату, определяемую часами вашего компьютера:
? Формат (Дата (), «дд / мм / гггг чч: нн: сс AM / PM»)
14.01.2020 00:00:00
Date () возвращает целое число без десятичных знаков. Мы узнаем, что Access считает, что начало дня приходится на полночь.
Функция Now () возвращает текущую дату и время, определяемое часами вашего компьютера:
? Формат (Сейчас (), «дд / мм / гггг чч: нн: сс AM / PM»))
14.01.2020 16:57:48
Попробуйте этот пример через пару минут:
DateSerial Function
Функция
Access и DateSerial VBA ( год , месяц , день ) предоставляет средства для построения даты (то есть числа, которое Access использует для представления числа) из значений, присвоенных отдельно году, месяц и день в таком порядке.Это в промежуточном окне моего компьютера:
? DateSerial (2020,1,15)
15.01.2020
Access использовал настройки, заданные на моем компьютере, для форматирования результата как короткой даты. Мы можем продемонстрировать, что DateSerial возвращает число, как мы и ожидали:
? Формат (DateSerial (2020,1,15), «00000»)
43845
Тестирование любого компонента времени, мы узнаем, что DateSerial не предполагает ничего:
? Формат (DateSerial (2020,1,15), «00000.0000 «)
43845.0000
Даты и время в точке ввода
Если вы установите для свойства Тип данных поля в таблице Access значение «Дата / время», тогда Access отклонит вашу попытку ввести в это поле все, что он не может интерпретировать как дату или как дату и время.
Если вы введете в это поле дату или дату и время по шаблону, не совпадающему с шаблоном в настройках вашего региона, Access будет проявлять инициативу в интерпретации введенных вами данных.
По моему опыту, пользователь будет вводить дату и время так, как он привык. Он может использовать «Средство выбора даты» напротив текстового поля, если средство выбора доступно; или он может ввести «24/9/2019», «24/9» или «24/9/19» или любое другое мыслимое расположение знаков дня, месяца, года и разделения. Или он может скопировать и вставить.
Необходимо решить две проблемы с мужчинами:
- Что пользователь видит дату и время, которые Access записывает в результате своего ввода
- Что сохраненные дата и время — это то, что намеревается пользователем, а не ложные, возникшие в результате неправильного понимания входных данных Access.
Отсюда два следующих раздела.
Отображение дат на экране
Предположим, что пользователь вводит данные в текстовое поле формы; и предположим, что она вводит данные, используя любую выбранную технику. Мы воспользуемся этим фрагментом, взятым из ее формы счета-фактуры, чтобы проиллюстрировать влияние различных настроек в ее форме на отображение даты ввода:
Нижнее текстовое поле называется «tebInvoiceDate».tebInvoiceDate имеет в качестве источника управления поле InvoiceDate в таблице, в которой хранятся сведения о счетах-фактурах. Тип данных поля InvoiceDate установлен на Дата / время.
Эти три свойства tebInvoiceDate оставлены пустыми: Формат, Значение по умолчанию и Маска ввода.
Все гармонично: в Access сохранена дата 6 января 2020 года, как и предполагал пользователь.
Теперь какой-то заблуждающийся человек решает добавить в форму свои собственные дизайнерские штрихи и назначает мм / дд / гггг свойству Format текстового поля tebInvoiceDate:
Отображаемая дата счета-фактуры использует формат мм / дд / гггг, примененный вандалом к текстовому полю, а не дд / мм / гггг по умолчанию в региональных настройках компьютера.
😕 Конечно, это может ввести пользователя в заблуждение…
😡… и разочарование, когда пользователь возится с достижением даты, которая выглядит правильной, и при этом сохраняет неправильную .
Чтобы избежать путаницы, разочарования и ошибок, я предлагаю либо , чтобы оставить свойство Формат текстового поля пустым , либо , чтобы выбрать формат из списка в раскрывающемся списке свойства Формат:
Я уточню этот подход, рекомендуя, чтобы год был , всегда отображался в виде четырех, а не двух цифр.Это личное предпочтение, основанное на опыте работы с базами данных, в которых хранятся даты, сделанные много лет назад или в будущем.
Например, запись о сотруднике в базе данных HR. Его дата рождения — «20/2/49» — это 20 февраля 1949 года, а не 20 февраля 2049 года, как это хранится в базе данных:
? Формат (# 20/02/49 #, «дд / мм / гггг»)
20.02.2049
Пример из другой базы данных: пользователь ввел то, что он намеревался сделать 19 ноября 2008 года, набрав «19/11/08».Вы правильно догадываетесь, что из этого сделал Access?
? Формат (# 19/11/08 #, «дд / мм / гггг»)
11.08.2019
Символ # указывает функции Format, что значение, которое она оценивает, является датой.
Вы можете разработать набор правил, основанный на проблемах, поднятых выше:
- Не возитесь с региональными настройками компьютера в Windows
- Не применяйте настраиваемые форматы к элементам управления в формах, отображающих даты
- Если нужно применить формат даты к элементу управления, выберите нужный из раскрывающегося списка в свойстве Format элемента управления.То же самое относится к элементам управления для ввода времени, даты и времени
- Отображать год в виде четырех цифр, а не двух.
Хранение даты и времени
При проектировании таблиц разработчик имеет возможность назначать или нет формат любому полю даты / времени. Я не испытал большого преимущества в применении формата.
Более того, я получил базы данных для преобразования и обновления, в которых форматы, применяемые к полям даты и времени, вызвали ненужную работу по проверке того, не мешают ли они предполагаемому запуску форм, запросов и отчетов.
Отсюда моя рекомендация:
- Не применяйте формат ни к каким полям даты и времени в таблицах.
Настройки даты и времени по умолчанию
Вы можете установить свойство «Значение по умолчанию» для элемента управления в форме и поля в таблице.
Вы можете счесть полезным для пользователя предварительно заполнить поле даты / времени сегодняшней датой в новой записи, например, для получения заказа. В таком случае используйте функцию Date () по умолчанию.
Применяйте функцию «Сейчас ()» только тогда, когда вам необходимо записать время. В разделе о фильтрах даты и времени в запросах ниже я объясняю, почему не рекомендуется использовать Now (), когда вы хотите записывать только дату.
Правила валидации
В поле «Дата / время» в таблице Access сохраняет дату четверга, 23 января 2020 года, как число 43853. Он сохраняет 6:00 утра четверга, 23 января 2020 года, как 43853,25.
Один из способов помочь пользователю ввести дату без компонента времени — это назначить правило для свойства Validation Rule этих полей.Если поле, о котором идет речь, называется «DrawdownDate», то это одно выражение, которое вы могли бы назначить его правилу проверки:
([DrawdownDate] -Int ([DrawdownDate])) = 0
Если пользователь вводит что-либо, что, по мнению Access, имеет компонент времени, Access не позволит пользователю покинуть это поле до тех пор, пока он не настроит ввод только на дату, а не на время.
Если пользователю должно быть разрешено оставить это поле без какого-либо значения данных, тогда Правило проверки необходимо расширить:
(([DrawdownDate] -Int ([DrawdownDate])) = 0) Или IsNull ([DrawdownDate])
Добавление сообщения типа «Введите только дату, без времени» в свойство текста проверки поля избавит пользователя от непонятных сообщений из Access, когда он нарушит ваше правило проверки.
Даты в отчетах
Еженедельный отчет
о закупках
за неделю, начинающуюся 20.04.20
дд / мм / гггг и мм / дд / гггг всегда были популярными свойствами формата. ОК, если ваша база данных используется исключительно локально. Нет, если ваша база данных выводит отчеты в виде PDF-файлов, которые вы отправляете получателям в других частях мира.
Еще больше запутывают форматы дд / мм / гг и мм / дд / гг. Как вы думаете, к какой дате в заголовке отчета, прикрепленном к полученному вами электронному письму, относится «20.04.20»?
Несомненно, формат, который передает дату одинаково для всех, является разумным подходом, который следует принять: дд мммм гггг, дддд дд мммм гггг или рекомендация ISO 8601 гггг-мм-дд, например.
Еженедельный отчет
за неделю с 20 апреля 2020 г.
Фильтры даты в запросах
Рассмотрим запрос с именем «qsDeals», который выбирает сделки из таблицы с именем «tblDeals»:
По этому запросу создается таблица с перечислением Сделок за 2019 год:
Теперь применим фильтр для Сделок, заключенных в среду, 9 октября 2019 г. Обратите внимание, что для включения даты в фильтр, дата должна иметь префикс и суффикс с символом #:
Все в порядке, потому что дата в фильтре соответствует региональной настройке краткой даты — дд / мм / гггг — используемого компьютера:
Что вы, как разработчик, должны иметь в виду, так это результат этого запроса, когда он выполняется на компьютере с региональными настройками краткой даты мм / дд / гггг.Вы получите предложения на вторник, 10 сентября 2019 г.
Чтобы избежать подобных ситуаций, можно рассмотреть возможность использования функции Access DateSerial ( год , месяц , день ). Фильтр для 9 октября 2019 года будет DateSerial (2019,10,9), что гарантирует отсутствие неопределенности относительно того, какая дата действует, какие бы региональные настройки ни действовали.
Выражения в фильтрах запросов для дат
Используемая для фильтрации дат в запросе, функция DateSerial ( год , месяц , день ) принимает выражения.В этом примере выполнение запроса представляет пользователю сообщение с запросом месяца, для которого нужно отфильтровать записи:
> = DateSerial (2019, [Номер месяца?], 1) И
Это делает запрос универсальным, поскольку пользователь может выбрать месяц, не изменяя запрос. Если вы хотите, чтобы год также был отфильтрован:
> = DateSerial ([Год?], [Номер месяца?], 1) И
Выводит пользователю эти два сообщения:
Если вы скопируете и вставите указанный выше фильтр, убедитесь, что в вашем запросе все они находятся в одной строке той же ячейки критериев.Находясь в этой ячейке, Shift + F2 открывает диалоговое окно Zoom, которое упрощает работу с вашим критерием:
Предупреждение Если вы выполняете фильтрацию по полю даты, в которое были введены и данные, и время, прочтите следующую тему!
Дата и время фильтрации
Рассмотрим запрос qsDeals на основе таблицы, в которую пользователи вводят сочетание дат и даты и времени в поле DrawdownDate таблицы. Вот правильно отфильтрованный набор данных на 1 сентября 2019 г. (Великобритания):
Теперь посмотрите результат применения простого фильтра # 01/09/2019 # (формат даты в Великобритании) к тем же данным:
Если такого результата вы не ожидали, значит, вы не единственный.Мне приходилось сталкиваться с рядом отчетов, предназначенных для ежедневного представления информации. Отчеты были совершенно неточными просто потому, что их разработчики не предусмотрели способ хранения дат в Access и, следовательно, способы их запроса.
Подобные ошибки, которые меня попросили исправить, произошли в отчетах по времени, например модули регистрации вызовов в базах данных, предназначенные (предположительно) для отчетов о вызовах, упорядоченных по сменам.
Остерегайтесь
На первый взгляд использование выражения Between …… And …… может показаться идеальным способом фильтрации по диапазону дат.Например, между # 01.09.2019 # и # 30.09.2019 # для доставки записей за сентябрь 2019 года.
Спросите себя, что этот фильтр вернет, если записи содержат и дату, и время. Будет ли он включать или исключать 30 сентября 2019 10:30 из результатов?
Во всех случаях я предпочитаю конструкцию> = …… И …… Между …… И …….
Еще одно предостережение относительно «промежуточных»: когда вы получаете такой запрос, как «Отчет, пожалуйста, по всем заказам на сумму от 5 000 до 10 000».
Всегда лучше всего точно выяснить, что требуется от отчета. Будет ли включен заказ на сумму 5 000 .00? Входит ли заказ в размере 10 000,00 фунтов стерлингов в запрошенный отчет или в другой для «заказов на большую стоимость»?
Ваша поддержка для dmw TIPS
Пожалуйста, поддержите этот веб-сайт, сделав пожертвование, чтобы избавить его от рекламы и помочь покрыть затраты времени на добавление нового контента.
Сделать взнос через PayPal в фунтах стерлингов (£ стерлингов) —
Сделать взнос через PayPal в долларах США ($ US) —
Если вы хотите получить счет для вашего пожертвования, сообщите мне, сколько вы жертвуете —
Счет-фактура
Спасибо, в ожидании .
Индексирование и выбор данных — документация pandas 1.2.1
- Начиная
- Гид пользователя
- Справочник по API
- Развитие
- Примечания к выпуску
- 10 минут до панд
- Введение в структуры данных
- Основные базовые функции
- Инструменты ввода-вывода (текст, CSV, HDF5,…)
- Индексирование и выбор данных
- MultiIndex / расширенное индексирование
- Слияние, соединение, объединение и сравнение
- Изменение формы и сводные таблицы
- Работа с текстовыми данными
- Работа с недостающими данными
- Повторяющиеся ярлыки
- Категориальные данные
- Обнуляемый целочисленный тип данных
- Обнуляемый логический тип данных
- Визуализация
- Вычислительные инструменты
- Группировать по: split-apply-comb
- Оконные операции
- Функциональность временных рядов / дат
- Дельты времени
- Укладка
- Опции и настройки
- Повышение производительности
- Масштабирование до больших наборов данных
- Редкие структуры данных
- Часто задаваемые вопросы (FAQ)
- Кулинарная книга
На этой странице
- Различные варианты индексации
- Основы
- Доступ к атрибутам
- Диапазоны нарезки
-
Выбор по этикетке
- Нарезка с этикетками
- Выбор по позиции
- Выбор по вызываемому
- Сочетание позиционной индексации и индексации на основе меток
-
Индексирование со списком с отсутствующими метками устарело
- Переиндексирование
- Выбор случайных выборок
- Настройка с увеличением
- Быстрое получение и установка скалярного значения
- Булево индексирование
- Индексирование с помощью isin
-
Метод where () и маскирование
- Маска
- Установка с увеличением условно с помощью numpy ()
-
Метод query ()
- Синтаксис запроса MultiIndex ()
- query () Примеры использования
- query () Сравнение синтаксиса Python и pandas
- Операторы in и not in
- Специальное использование оператора == с объектами списка
.
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/
Консолидация (сборка) данных из нескольких таблиц в ExcelNikolay Pavlov
5 years ago
Как собрать данные из нескольких таблиц (одинаковых или не очень) в один итоговый отчет в Excel. Подробно и…
Сумма прописью в ExcelВиталий Б
Year ago
Скачать надстройку можно по ссылке; drive.google.com/open?id=0B3A8_z_zeZ7Bei1NbDAySDJGNjA.
Придумка не моя, просто нашел в И-нете модуль на VBA, попробовал, работает. Где нашел, уже не помню поэтому, как порядочный человек, ссылочку поставить не могу. Если кто узнает свое творчество, пишите, ссылку размещу. В самом модуле ничего не менял, в т.ч. и авторский комментарий. Содержимое модуля в текстовом формате можно скачать здесь. Создать пустой модуль в Access и скопировать туда.
Не сразу получилось подключить модуль к отчету, однако немного помучавшись сделал так.
В поле, где надо вывести сумму прописью вставляем функцию
=ProperWord(NumberTOstring())
— это поле в котором находится числовое значение суммы.
В итоге получаем такой отчет
Все работает отлично, можно использовать.
Пример вычисления общей суммы в таблице базы данных Microsoft Access без использования SQL-запроса
Бывают случаи, когда в таблице базы данных нужно посчитать сумму числовых значений некоторого столбца. Для этого существуют разные методы вычисления, один из которых базируется на использовании соответствующего SQL-запроса.
В данной задаче, на примере таблицы Microsoft Access, вычисляется общая сумма без использования SQL-запроса. Дополнительно вычисляется среднее арифметическое значений ячеек заданного столбца.
Используя данный пример, можно создавать любые числовые вычисления над множеством записей заданного столбца.
Условие задачи
Дана таблица, сформированная средствами СУБД Microsoft Access. Таблица содержит данные с начисленной заработной платой сотрудников.
Таблица имеет следующую структуру.
Сразу после загрузки, приложение должно вычислять общую начисленную сумму и среднее арифметическое. Результат нужно выводить в компоненты типа TStaticText.
Решение
- Загрузить Delphi.
Создать приложение как Windows Forms Application.
Сохранить проект под любым именем.
- Создание формы.
Разместить на форме следующие компоненты (рис. 1):
– из вкладки “dbGo” компонент TADOConnection. Создается объект с именем ADOConnection1;
– из вкладки “Data Access” компонент TDataSource. Создается объект с именем DataSource1;
– из вкладки “dbGo” компонент типа TADOTable. Создается объект с именем ADOTable1;
– из вкладки “Data Controls” компонент типа TDataGrid. Создается объект с именем DBGrid1;
– из вкладки “Additional” три компонента типа TStaticText. Создаются объекты с именами StaticText1, StaticText2.
В компоненте StaticText1 будет выведена общая сумма.
В компоненте StaticText2 будет выведена средняя заработная плата (среднее арифметическое).
Рис. 1. Компоненты формы
- Подключение базы данных. Свойство ConnectionString компонента ADOConnection1.
Процесс подключения приложения к базе данных Microsoft Access подробно описан здесь.
В результате формируется строка ConnectionString в компоненте ADOConnection1 (рис. 2). В этой строке указывается тип поставщика данных и полный путь к файлу базы данных.
Рис. 2. Строка ConnectionString компонента ADOConnection1
- Настройка компонент 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
- Активизация таблицы.
Для отображения данных в таблице нужно выполнить следующие действия (рис. 9):
– выделить таблицу ADOTable1;
– свойство Active = true.
После этого данные таблицы отобразятся в DBGrid1.
Рис. 9. Свойство Active компонента ADOTable1
- Настройка размеров компонент и формы.
Следующим шагом нужно настроить размеры и позиции компонент на форме, как изображено на рисунке 10.
Рис. 10. Основная форма приложения
- Скрытие поля 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 с двумя полями
- Установление фильтра вывода с двумя знаками после запятой в поле 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 знака после запятой.
- Ввод внутренних переменных.
Для сохранения данных суммы и среднего арифметического нужно ввести в текст класса формы 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; ...
- Программирование события активизации формы.
Как только пользователь загрузит программу, нужно сразу рассчитать значения суммы и среднего арифметического в таблицы.
Поэтому, нужно запрограммировать событие 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.
- Запуск приложения на выполнение.
Теперь можно запустить приложение на выполнение.
Похожие статьи:
013 — Пример вычисления общей суммы в таблице базы данных Microsoft Access с использованием SQL-запроса. Компонент TDBText.
Razvrsti po
Как создать ВЫЧИСЛЯЕМЫЕ запросы в базе AccessУроки по Microsoft Access
Pred letom
Если вы не знаете, как создаются запросы с вычислениями в базе данных Microsoft Access, то посмотрите это видео….
Урок 7 Access.Запросы Часть 5 Вычисления и функцииMoodle Donguu
Pred 3 leti
Как создать вычисляемые поля в форме AccessУроки по Microsoft Access
Pred 7 meseci
Если вы не знаете, как создать вычисляемые поля на форме базы данных Microsoft Access, то посмотрите это видео….
2 Создание таблиц и запросов в AccessData Digger
Pred 4 leti
В новом видео вы узнаете, как создавать таблицы и связывать записи разных таблицы. Также вы узнаете как…
Access 2003-34: вычисление остатка товара на складеАндрей Домостой
Pred 4 leti
Вычислим в запросе Access расход и остаток товара на складе. КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ: goo.gl/zgcfyg…
Как сделать формы в базе данных Microsoft Access 2016 (1 часть)Уроки по Microsoft Access
Pred letom
Если вы не знаете как создать базу данных в программе Microsoft Access 2016, то посмотрите это видео. Всего за 6 уроков…
База данных в Access — учет товаров на складеMix Fix
Pred 4 leti
Создание базы данных «Список учета товаров на складе» Помощь каналу и автору R408413163597 Моя партнерская прогр…
Готовая база данных Access Успеваемость студентов (2 из 4)Уроки по Microsoft Access
Pred 11 meseci
Если вы не знаете что такое готовая база данных Access, то посмотрите это видео. ВСЕГО ЗА 4 УРОКА мы создадим…
Готовая база данных Access Приходный кассовый ордер (1 из 3)Уроки по Microsoft Access
Pred letom
Если вы не знаете что такое готовая база данных Access, то посмотрите это видео. ВСЕГО ЗА 3 УРОКА мы создадим…
Как быстро создать ПЕРЕКРЕСТНЫЙ запрос в базе данных Microsoft AccessУроки по Microsoft Access
Pred 11 meseci
Если вы не знаете как создать перекрестный запрос в программе Microsoft Access, то посмотрите это видео. Продолжаем…
Microsoft Access № 72: вычисление суммы в таблицах, запросах, формах и отчётах AccessАндрей Домостой
Pred letom
Как создать вычисляемые поля суммы в таблицах, запросах, формах и отчётах Access? КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗА…
7.1 Вычисления Microsoft Access 2010.Dmitrii Dmitrii
Pred 2 leti
Раздел 7. Вычисления в запросах. Запросы к базам данных Microsoft Access 2010.
Пример создания базы данных в MS Office Access 2007nefmont
Pred 6 leti
Пример базы данных «Поликлиника» в MS Office Access 2007. Пример БД «Регистратура» slclip.com/video/aQHonzw5Wr0/video.html Расширенный пример…
Как создать ЗАПРОС С УСЛОВИЕМ в базе данных MS ACCESSУроки по Microsoft Access
Pred letom
Если вы не знаете, как создаются запросы с условием в базе данных Microsoft Access, то посмотрите это видео. Продолж…
Готовая база данных Access Успеваемость студентов (3 из 4)Уроки по Microsoft Access
Pred 11 meseci
Если вы не знаете что такое готовая база данных Access, то посмотрите это видео. ВСЕГО ЗА 4 УРОКА мы создадим…
Электронные таблицы или базы данных: Excel vs AccessSpecialistTV
Pred letom
В чем принципиальная разница между таблицами Excel и базами данных Access? Какими преимуществами обладает кажда…
Импорт данных из Excel в AccessSpecialistTV
Pred letom
Перенос информации из электронных таблиц Excel в Access позволит вам воспользоваться всеми преимуществами реля…
Как создать отчеты в Microsoft Access за 10 минутУроки по Microsoft Access
Pred 3 leti
Узнайте, как легко и быстро создать базу данных Access — accesshelp.ru/category/uroki/ Готовые базы Access: 7108.ru/g0203 Если…
Видеокурс «База данных Access «Отдел кадров»Андрей Домостой
Pred 6 meseci
Демонстрация видеокурса «База данных Access «Отдел кадров» КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ: goo.gl/zgcfyg…
Как создать запросы в Microsoft Access за 10 минутУроки по Microsoft Access
Pred 3 leti
Узнайте, как легко и быстро создать базу данных Access — accesshelp.ru/category/uroki/ Если вы не знаете как создать…
Создание однотабличных форм в базе данных Microsoft AccessУроки по Microsoft Access
Pred 10 meseci
Если вы не знаете как создать форму в базе данных Microsoft Access, то посмотрите это видео. В этом скринкасте на…
11. Создание формы «Склад»GTIFEMBI
Pred 5 leti
Создаем форму с двумя раскрывающимися списками (для удобства ввода списка товаров и для выбора поставщика)
25 Копирование таблиц в AccessСИЛА ЗНАНИЯ
Pred 8 meseci
Microsoft Access № 74: как узнать количество работников (записей) в списке AccessАндрей Домостой
Pred letom
Как узнать, сколько записей (расчёт количества работников) содержится в списке Access? КУПИТЬ ВИДЕОКУРСЫ ИЛИ…
22 Копирование полей в AccessСИЛА ЗНАНИЯ
Pred 8 meseci
Экспорт отчетов Access в Excel и WordУроки по Microsoft Access
Pred 2 meseci
Если вы не знаете, как перенести отчет из базы данных Microsoft Access, то посмотрите это видео. На простых примерах…
MS Access create data base xeol.com.uaОлег Савіцький
Pred 4 leti
СКБД Access створення БД xeol.com.ua.
Microsoft Access как ЛЕГКО и БЫСТРО сделать макросГеннадий
Pred letom
Microsoft Access как ЛЕГКО и БЫСТРО сделать макрос.
Создание отчета в Access с помощью мастераУроки по Microsoft Access
Pred 6 meseci
Если вы не знаете как создать отчет в Access с помощью мастера, то посмотрите это видео. В этом уроке поговорим…
Пример создания базы данных «Клиент-Заказы-Товары» в MS Office Access 2007 (часть 3)nefmont
Pred 2 leti
Пример создания базы данных «Клиент-Заказы-Товары» в MS Office Access 2007 (часть 3) Creation of a data base in MS Office Access 2007.
Урок27. Как создать запрос c вычислениями в Microsoft Access: функция IIFWeb Vladimir
Pred 3 leti
AVysotskiy.com — Миникурс Revit — связь с MS Access/Excel — Часть 3Александр Высоцкий
Pred 6 leti
Миникурс Revit — связь с MS Access/Excel Все ролики доступны по адресу: avisotskiy.blogspot.com/2012/02/c-revit.html Задача курса…
Как посчитать возраст в базе данных AccessУроки по Microsoft Access
Pred 11 meseci
Если вы не знаете, как посчитать возраст в базе данных Microsoft Access, то посмотрите это видео. На простом запросе…
Как определить ГОД, КВАРТАЛ, МЕСЯЦ, ДЕНЬ НЕДЕЛИ в запросе AccessУроки по Microsoft Access
Pred letom
Если вы не знаете, как создаются запросы с условием в базе данных Microsoft Access, то посмотрите это видео. Продолж…
Создание таблицы в Microsoft Access 2016IT life
Pred letom
вычисляемые запросы в AccessMarat Asanov
Pred 5 leti
вычисляемые запросы в Access.
AVysotskiy.com — Миникурс Revit — связь с MS Access/Excel — Часть 1Александр Высоцкий
Pred 6 leti
Миникурс Revit — связь с MS Access/Excel Все ролики доступны по адресу: avisotskiy.blogspot.com/2012/02/c-revit.html Задача курса…
Как задать условия для ТЕКСТОВЫХ полей в запросах MS ACCESSУроки по Microsoft Access
Pred letom
Если вы не знаете, как создаются запросы в базе данных Microsoft Access, то посмотрите это видео. Продолжаем работат…
Коммунальная программа для ЖКХ, расчет коммунальных услугУниверсальная Система Учета
Pred 8 meseci
USU.kz — разработка программного обеспечения для автоматизации бизнес-процессов. Презентация от компании…
Импорт данных из файлов формата CSV в базу данных MS AccessSpecialistTV
Pred letom
Мы рассмотрим настройки файлов с расширением CSV при импорте в БД Microsoft Access, а также возможности автоматизаци…
Урок10. Как создать и внести изменения в таблицу в Microsoft AccessWeb Vladimir
Pred 3 leti
вычисляемые запросы в AccessAlixander1990
Pred 8 leti
Краткое руководство без звука))
Разработка информационной системы средствами MS Access 2010 /Канал для педагогов. Российский учебник
Pred 3 leti
SQL: создаем запрос на обновление (UPDATE) в Microsoft AccessУроки по Microsoft Access
Pred letom
Если вы не знаете как создать SQL-запросы в базе данных Microsoft Access, то посмотрите это видео. На примере стандарт…
26 Копирование в другую базу данных в AccessСИЛА ЗНАНИЯ
Pred 8 meseci
Расчет зарплатыСКБ Контур
Pred 2 leti
Функция DateDiff в запросах AccessУроки по Microsoft Access
Pred letom
Если вы не знаете, как работает функция DateDiff в базе данных Microsoft Access, то посмотрите это видео. На простых…
Расчет заказаArmex
Pred 7 leti
Создание формы в MS AccessАндрей Юрич
Pred 3 leti
Создание формы в MS Access за пару минут.
Урок 8. Access Запросы Часть6 Групповые операции Перекрестный запросMoodle Donguu
Pred 3 leti
Группировка записей в представлениях и вычисления с использованием статистических функций, в том числе суммирование, выполняются так же, как в запросах базы данных Access (см. разд. «Создание и изменение запроса с помощью Конструктора запросов»гл. 4).
Вместо строки Групповая операция (Totals) в бланке запроса Конструктора запросов в проекте присутствует столбец Группировка (Group by). По умолчанию этот столбец скрыт. Для того чтобы вывести его на экран, нужно нажать кнопку Группировка (Group By) на панели инструментов. Столбец Группировка (Group by) добавляется в бланк представления, и для всех полей, включенных в представление, этому полю присваивается значение Группировка (Group by). Можно затем в отдельных строках заменить значение (Group by) необходимыми статистическими функциями (сумма — Sum, среднее — Avg, число значений — Count и т. д.). В результате на нижней панели соответствующим образом изменится инструкция SQL. Чтобы ввести условие на выборку записей, можно использовать две разновидности инструкции SELECT:
Did you find apk for android? You can find new Free Android Games and apps.
Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
ACCESS.doc
Скачиваний:
18
Добавлен:
06.03.2016
Размер:
2.02 Mб
Скачать
MS
Access позволяет производить вычисления
и групповые операции с записями. Допустим,
отдел доставки запросил сведения о
суммах, выплаченных за доставку заказов
на Украину. Вам необходимо модифицировать
предыдущий запрос. Для этого следует:
-
Открыть
запрос «Доставка на Украину» в режиме
Конструктора. Для этого:
-
на
вкладке Запрос
выделить строку «Доставка на Украину»; -
щелкнуть
на кнопке Конструктор
окна БАЗЫ ДАННЫХ.
Щелкнуть
на кнопке
Групповые
операции
или выбрать команду меню Вид/Групповые
операции,
чтобы добавить в Бланк Запроса строку
«Групповые операции».
Щелкнуть
в строке «Группировка» под полем
«Стоимость доставки», затем на кнопке
со стрелкой.
Выбрать
строку «Sum».
Выполнить
запрос.
Закрыть запрос и
сохранить внесенные изменения.
Создайте
и выполните запрос с суммированием
данных.
Этап 7. Запросы с вычислениями
А
теперь попробуем произвести вычисления
в запросе. Представим себе, что продажа
товаров Вашей фирмы идет столь бойко,
что отдел маркетинга попросил Вас
составить прогноз объемов продаж в
случае, если поднять на него цену на 5%.
Вам нужно составить запрос с вычислениями:
-
Создать
новый запрос и добавить в окно
«Запрос-выборка» таблицу «Товары». -
Включить
в бланк запроса по образцу поля «Марка»,
«Единица измерения» и «Цена». -
Выполнить
запрос. -
Сохранить
запрос под именем «Повышение цен». -
Щелкнуть
на кнопке Режим
конструктора
панели инструментов и поместить курсор
в пустую клетку бланка запроса справа
от клетки «Цена». -
Ввести
«[Цена]*1.05» и нажать клавишу ENTER .
-
После
того, как Вы нажмете клавишу ENTER, MS Access
добавит к имени поля «Выражение 1:».
Чтобы увидеть выражение целиком, нужно
щелкнуть два раза на правой границе
разделителя полей. -
Щелкнуть
на кнопке Режим
таблицы,
чтобы увидеть результат выполнения
запроса. -
Заменить
имя «Выражение 1» на имя «Новая цена»,
для чего:
-
щелкнуть
на кнопке Режим
конструктора
панели инструментов, а затем на клетке,
содержащей выражение «Выражение 1:
[Цена]*1.05»; -
вместо
текста «Выражение 1» ввести название
«Новая цена».
Чтобы
показать новую цену в денежном формате,
щелкнуть на кнопке Свойства
панели инструментов. Откроется диалог
«Свойства поля».
Свойства
поля – атрибут
поля, который устанавливает пользователь,
чтобы определить характеристики объекта
или некоторые аспекты его функционирования.
-
выбрать
строку «Формат поля» и щелкнуть на
кнопке рядом с полем, чтобы раскрыть
ниспадающий список; -
выделить
формат «Денежный»; -
закрыть
диалог «Свойства поля».
-
Щелкнуть
на кнопке Режим
таблицы,
чтобы увидеть новые цены в выбранном
формате в столбце с новым названием. -
Сохраните
запрос и закройте его.
Выполните
прогноз объемов продаж фирмы в случае
повышения цен на товары на 5%.
3. Поиск и обновление информации базы данных
MS
Access поможет Вам организовать хранение
и обработку информации любых видов и
объемов в таблицах и обеспечит доступ
к ней посредством нескольких щелчков
мыши. Но удобным способом доступа к
данным, а также их редактирования и
поиска являются формы базы данных.
Для
приобретения навыков работы с формами
воспользуемся любезно созданной
разработчиками MS Access базой данных
NWIND.MDB.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Как посчитать сумму в аксессе
Подсчет данных при помощи запроса
В этой статье описано, как подсчитать данные, возвращаемые запросом. Например, в форме или отчете можно подсчитать количество элементов в одном или нескольких полях таблицы или элементах управления. Вы также можете вычислять средние значения, находить наибольшее и наименьшее значения, самую давнюю и самую последнюю дату. Кроме того, в Access предусмотрено средство, называемое строкой итогов, с помощью которого можно подсчитывать данные в таблице, не изменяя структуру запроса.
Выберите нужное действие
Способы подсчета данных
Подсчитать количество элементов в поле (столбце значений) можно с помощью функции Число. Функция Число принадлежит к ряду функций, называемых агрегатными. Агрегатные функции выполняют вычисления со столбцами данных и возвращают единственное значение. Кроме функции Число, в Access есть следующие агрегатные функции:
Сумма для суммирования столбцов чисел;
Среднее для вычисления среднего значения в столбце чисел;
Максимум для нахождения наибольшего значения в поле;
Минимум для нахождения наименьшего значения в поле;
Стандартное отклонение для оценки разброса значений относительно среднего значения;
Дисперсия для вычисления статистической дисперсии всех значений в столбце.
В Access предусмотрено два способа добавления функции Count и других агрегатных функций в запрос. Вы можете:
Открыть запрос в режиме таблицы и добавить строку итогов. Строка итогов позволяет использовать агрегатные функции в одном или нескольких столбцах в результатах запроса без необходимости изменять его структуру.
Создать итоговый запрос. В итоговом запросе вычисляются промежуточные итоги по группам записей. Например, если вы хотите вычислить промежуточную сумму всех продаж по городам или по кварталам, следует использовать итоговый запрос для группировки записей по нужной категории, а затем просуммировать все объемы продаж. С другой стороны, с помощью строки итогов можно вычислить общий итог для одного или нескольких столбцов (полей) данных.
Примечание: Ниже в разделах этой статьи подробно описано применение функции Сумма, однако следует помнить, что вы можете использовать другие агрегатные функции в строках итогов и запросах. Дополнительные сведения об использовании других агрегатных функций см. ниже в разделе Справочные сведения об агрегатных функциях.
Дополнительные сведения о способах использования других агрегатных функций см. в разделе Отображение итогов по столбцу в таблице.
В следующих разделах описаны шаги, которые следует выполнить, чтобы добавить строку итогов, а также описывается использование итогового запроса для подсчета данных. Следует обратить внимание на то, что функция Число работает с большим числом типов данных, чем другие агрегатные функции. Функцию Число можно использовать для любого типа полей, кроме тех, которые содержат сложные повторяющиеся скалярные данные, например поле с многозначными списками.
С другой стороны, многие агрегатные функции работают только с данными в полях, имеющих определенный тип данных. Например, функция Сумма работает только с типами данных «Число», «Действительное» и «Денежный». Дополнительные сведения о типах данных, требуемых для каждой функции, см. ниже в разделе Справочные сведения об агрегатных функциях.
Общие сведения о типах данных см. в статье Изменение типа данных для поля.
Подсчет данных с помощью строки итогов
Чтобы добавить в запрос строку итогов, откройте его в режиме таблицы, добавьте строку, а затем выберите функцию Число или другую агрегатную функцию, например Сумма, Минимум, Максимум или Среднее. В этом разделе объясняется, как создать простой запрос на выборку и добавить строку итогов.
Создание простого запроса на выборку
На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.
В диалоговом окне Добавление таблицы дважды щелкните таблицу или таблицы, которые вы хотите использовать в запросе, а затем нажмите кнопку Закрыть.
Выбранные таблицы отображаются в виде окон в верхней части конструктора запросов. На рисунке показана типичная таблица в конструкторе запросов.
Дважды щелкните поля таблицы, которые вы хотите использовать в запросе.
Вы можете включить поля, содержащие описательные данные, например имена и описания, но следует обязательно добавить поле, содержащее подсчитываемые значения.
Каждое поле отображается в столбце в бланке запроса.
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результаты запроса отображаются в режиме таблицы.
При необходимости переключитесь в Конструктор и скорректируйте запрос. Для этого щелкните правой кнопкой мыши вкладку документа для запроса и выберите команду Конструктор. После этого можно изменить запрос, добавив или удалив поля таблицы. Чтобы удалить поле, выберите столбец в бланке запроса и нажмите клавишу DELETE.
При необходимости вы можете сохранить запрос.
Добавление строки итогов
Откройте запрос в режиме таблицы. Если база данных имеет формат ACCDB, щелкните правой кнопкой мыши вкладку документа для запроса и выберите команду Режим таблицы.
Если используется база данных в формате MDB, созданная в более ранней версии Access, на вкладке Главная в группе Режимы щелкните стрелку под кнопкой Режим и выберите значение Режим таблицы.
Дважды щелкните запрос в области навигации. Запрос будет выполнен, а его результаты будут загружены в таблицу.
На вкладке Главная в группе Записи нажмите кнопку Итоги.
Под последней строкой данных в таблице появится новая строка Итог.
В строке Итог щелкните поле, по которому вы хотите выполнить подсчет, и выберите в списке функцию Count.
Скрытие строки итогов
На вкладке Главная в группе Записи нажмите кнопку Итоги.
Дополнительные сведения об использовании строки итогов см. в разделе Отображение итогов по столбцу в таблице.
Подсчет данных с помощью итогового запроса
Когда нужно подсчитать некоторые или все записи, возвращаемые запросом, то вместо строки итогов можно воспользоваться итоговым запросом. Например, вы можете подсчитать общее число сделок или число сделок в отдельном городе.
Как правило, итоговый запрос применяется вместо строки итогов тогда, когда требуется использовать значение результата в другой части базы данных, например в отчете.
Подсчет всех записей в запросе
На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.
В диалоговом окне Добавление таблицы дважды щелкните таблицу, которую вы хотите использовать в запросе, а затем нажмите кнопку Закрыть.
Таблица появится в окне в верхней части конструктора запросов.
Дважды щелкните поля, которые вы хотите использовать в запросе, и убедитесь, что вы включите поле, которое хотите подсчитать. Вы можете подсчитать поля из большинства типов данных — исключением является поля, содержащие сложные, повторяющиеся скалярные данные, такие как поле многозначных списков.
На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.
В бланке появится строка Итог, а в строке для каждого поля запроса будет указано Группировка.
В строке Итог щелкните поле, по которому вы хотите выполнить подсчет, и выберите в списке функцию Count.
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результаты запроса отображаются в режиме таблицы.
При необходимости вы можете сохранить запрос.
Подсчет записей в группе или категории
На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.
В диалоговом окне Добавление таблицы дважды щелкните таблицу или таблицы, которые вы хотите использовать в запросе, а затем нажмите кнопку Закрыть.
Таблица (или таблицы) появится в окне в верхней части конструктора запросов.
Дважды щелкните поле, содержащее данные категории, а также поле, значения в котором вы хотите подсчитать. Запрос не может содержать других описательных полей.
На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.
В бланке появится строка Итог, а в строке для каждого поля запроса будет указано Группировка.
В строке Итог щелкните поле, по которому вы хотите выполнить подсчет, и выберите в списке функцию Count.
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результаты запроса отображаются в режиме таблицы.
При необходимости вы можете сохранить запрос.
Справочные сведения об агрегатных функциях
В следующей таблице перечислены и отписаны агрегатные функции Access, которые можно использовать в строке итогов и в запросах. Помните, что в Access предусмотрено больше агрегатных функций для запросов, чем для строки итогов. Кроме того, при работе с проектом Access (внешней базой данных Access, которая подключается к базе данных Microsoft SQL Server) можно использовать расширенный набор агрегатных функций, предоставляемый SQL Server. Дополнительные сведения о них см. в электронной документации Microsoft SQL Server.
Поддерживаемые типы данных
Суммирует элементы в столбце. Подходит только для числовых и денежных данных.
«Число», «Действительное», «Денежный»
Вычисляет среднее значение для столбца. Столбец должен содержать числовые или денежные величины или значения даты или времени. Функция игнорирует пустые значения.
«Число», «Действительное», «Денежный», «Дата/время»
Подсчитывает число элементов в столбце.
Все типы данных, за исключением сложных повторяющихся скалярных данных, таких как столбец многозначных списков.
Дополнительные сведения о многозначных списках можно найти в статье рекомендации по созданию и удалениюмногозначных полей в руководствах , посвященных многозначным полям.
Возвращает элемент, имеющий наибольшее значение. Для текстовых данных наибольшим будет последнее по алфавиту значение, причем Access не учитывает регистр. Функция игнорирует пустые значения.
«Число», «Действительное», «Денежный», «Дата/время»
Возвращает элемент, имеющий наименьшее значение. Для текстовых данных наименьшим будет первое по алфавиту значение, причем Access не учитывает регистр. Функция игнорирует пустые значения.
«Число», «Действительное», «Денежный», «Дата/время»
Показывает, насколько значения отклоняются от среднего.
Дополнительные сведения об этой функции см. в статье Отображение итогов по столбцу в таблице.
«Число», «Действительное», «Денежный»
Вычисляет статистическую дисперсию для всех значений в столбце. Подходит только для числовых и денежных данных. Если таблица содержит менее двух строк, Access возвращает пустое значение.
Дополнительные сведения о функциях для расчета дисперсии см. в разделе Отображение итогов по столбцу в таблице.
Создание запроса с итоговыми суммами в Microsoft Access
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 меньше текущего Емпалиас, а затем форматирует поле в долларах.
Выполните запрос. Обратите внимание, что в поле Рунтот отображаются следующие записи с накопленной суммой:
Вычисления в Access 2003
В Accessвычисления выполняют в запросах и в отчетах. Все вычисления по формулам осуществляют только в запросах с помощью строки Групповая операция. Чаще всего используются следующие функции этой строки.
· Выражение. Выполнение вычислений в поле по формуле.
· Суммирование (Sum). Суммирует все значения выбранного поля.
· Среднее значение (Avg). Вычисляет среднее значение всех чисел в выбранном поле.
· Минимум (Min). Определение наименьшего числа в поле.
· Максимум (Max). Определение наибольшего числа в поле.
Рис.19. Открываем окно со строкой Групповые операции
Для выполнения вычислений с использованием размещенных в полях запроса данных прежде всего проверьте в каких столбцах каких таблиц размещены необходимые для расчетов числа. Все эти столбцы (поля) включите в запрос. Затем следует, щелкнув левой кнопкой мыши в панели инструментов на кнопке Конструктор(рис. 19), добавить в окно запроса строку Групповая операция, которая по умолчанию скрыта. Откроется окно, показанное на рисунке 20. В некоторых версиях Accessв менюВидимеется строкаГрупповая операция, которая может быть использована для этой цели.
Рис.20. Строка Групповая операция
Строка Групповая операция должна появиться автоматически. В некоторых версиях Accessэтастрока автоматически не появляется. В таком случае надо в панели инструментов нажать кнопку с символом ∑ (Групповая операция), которая выделена на рисунке . Для записи формулы выбираем пустое поле. В строке Групповая операция во всех полях запроса по умолчанию записано значение Группировка. Для ввода формулы в выбранном поле этой строки надо поместить значение Выражение, что можно сделать следующим образом:
· Щелкните по строке Групповая операция в выбранном поле.
· Щелкните по появившейся в поле кнопке с треугольником.
· В раскрывшемся списке выберите строку Выражение (рис.21 ).
· В строке Вывод на экран надо отметить флажок.
Рис. 21. Выбор групповой операции «Выражение»
Формула записывается в строке Поле по тем же правилам, что и в Excel, но вместо адресов ячеек используются заключенные в квадратные скобки имена полей. Имя поля в формуле следует вводить с учетом регистра, вручную, не копировать! В формулу могут входить числа (константы), однако проценты необходимо преобразовать в десятичные дроби. Например, если требуется вычислить отпускную цену товара, увеличив оптовую цену на 25%, в строке Поле следует записать формулу:
После ввода формулы щелкните за пределами готового выражения, можно в другой строке. Вместо знака равенства Accessдобавит в начало формулы текст Выражение1:, который и станет именем поля. Этот текст можно позднее заменить. Если в запрос будет добавлено еще одно поле с формулой, оно получит имя Выражение2: и т.д. Откройте запрос и проверьте наличие нового поля с заголовком Выражение 1. Для того, чтобы просмотреть запрос в виде таблицы, выберите в меню команду Вид, в раскрывшемся списке – Режим таблицы. Для изменения заголовка поля щелкните в панели инструментов на кнопке Конструктор(рис. 19), затем в нужном столбце строки Поле (рис. 20) удалите прежнее имя и введите новое.
Дата добавления: 2015-05-09 ; Просмотров: 976 ; Нарушение авторских прав?
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
SQL — Урок 11. Итоговые функции, вычисляемые столбцы и представления
Теперь, мы хотим узнать, на какую сумму нам привез товар поставщик «Дом печати» ( >
1. Сначала надо из таблицы Поставки (incoming) выбрать идентификаторы ( > SELECT >
2. Теперь из таблицы Журнал поставок (magazine_incoming) надо выбрать товары ( > SELECT >
3. Теперь нам надо добавить в результирующую таблицу цены на найденные товары, которые хранятся в таблице Цены (prices). То есть нам понадобится объединение таблиц Журнал поставок (magazine_incoming) и Цены (prices) по столбцу > SELECT magazine_incoming. >
4. В получившейся таблице явно не хватает столбца Сумма, то есть вычисляемого столбца . Возможность создания таких столбцов предусмотрена в MySQL. Для этого надо лишь указать в запросе имя вычисляемого столбца и что он должен вычислять. В нашем примере такой столбец будет называться summa, а вычислять он будет произведение столбцов quantity и price. Название нового столбца отделяется словом AS:
5. Отлично, нам осталось лишь просуммировать столбец summa и наконец-то узнаем, на какую сумму нам привез товар поставщик «Дом печати». Синтаксис для использования функции SUM() следущий:
Имя столбца нам известно — summa, а вот имени таблицы у нас нет, так как она является результатом запроса. Что же делать? Для таких случаев в MySQL существуют Представления . Представление — это запрос на выборку, которому присваивается уникальное имя и который можно сохранять в базе данных, для последующего использования.
Синтаксис создания представления следующий:
Вот мы и достигли результата, правда для этого нам пришлось использовать вложенные запросы, объединения, вычисляемые столбцы и представления. Да, иногда для получения результата приходится подумать, без этого никуда. Зато мы коснулись двух очень важных тем — вычисляемые столбцы и представления. Давайте поговорим о них поподробнее.
Вычисляемые поля (столбцы)
Представления
Синтаксис создания представлений мы уже рассматривали. После создания представлений, их можно использовать так же, как таблицы. То есть выполнять запросы к ним, фильтровать и сортировать данные, объединять одни представления с другими. С одной стороны это очень удобный способ хранения частоприменяемых сложных запросов (как в нашем примере).
Но следует помнить, что представления — это не таблицы, то есть они не хранят данные, а лишь извлекают их из других таблиц. Отсюда, во-первых, при изменении данных в таблицах, результаты представления так же будут меняться. А во-вторых, при запросе к представлению происходит поиск необходимых данных, то есть производительность СУБД снижается. Поэтому злоупотреблять ими не стоит.
Видеоуроки php + mysql
Если этот сайт оказался вам полезен, пожалуйста, посмотрите другие наши статьи и разделы.