Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2012, 00:20   #1
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию Аналог COMPUTE, ROLLUP или как сделать промежуточный итог

Столкнулся с задачей-нужно сделать промежуточные итоги по заказам определенной продукции (посчитать количество и сумму). Нашел информацию про COMPUTE и ROLLUP, но, как я понял в ACCESS их нет. или есть? и есть ли аналоги? И как реализовать тогда то, что нужно. Заранее спасибо
googl вне форума Ответить с цитированием
Старый 19.01.2012, 11:12   #2
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Добрый день.
Вы если задаёте вопрос, то сразу вылаживайте пример, а с того что я понял - это всё делается простым запросом на выборку где в группировке суммы ставите Sum а воле продукции Count (количество)
gluk_fm вне форума Ответить с цитированием
Старый 19.01.2012, 12:05   #3
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от gluk_fm Посмотреть сообщение
Добрый день.
Вы если задаёте вопрос, то сразу вылаживайте пример, а с того что я понял - это всё делается простым запросом на выборку где в группировке суммы ставите Sum а воле продукции Count (количество)
я извиняюсь, что сразу этого не сделал.

допустим, у нас есть результат одного запроса (сортировка по фирме):
Фирма Кол-во Сумма
1 2 244
1 1 240
2 4 244
2 2 244


и вот в этом же запросе нам нужно после каждой фирмы итог по ней вывести вот так чтобы было:
1 2 244
1 1 240
Итого 3 484
2 4 244
2 2 244
Итого 6 488

Данные для расчета итого мы имеем только в этом запросе. И вот как так сделать?
googl вне форума Ответить с цитированием
Старый 19.01.2012, 12:17   #4
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Так вы такой запрос строите? Или вы отчёт делаете? Сделайте вложение со своими наработками и Вам помогут, а то на сколько я понял вы ещё даже таблицу с данными в аццесс не создавали ,,,,,
gluk_fm вне форума Ответить с цитированием
Старый 19.01.2012, 12:20   #5
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от gluk_fm Посмотреть сообщение
Так вы такой запрос строите? Или вы отчёт делаете? Сделайте вложение со своими наработками и Вам помогут, а то на сколько я понял вы ещё даже таблицу с данными в аццесс не создавали ,,,,,
таблица есть. запрос есть. Запрос делает отчет. Общая сумма есть. а вот как так же по складам сделать?
Вложения
Тип файла: rar Database11.rar (57.1 Кб, 11 просмотров)

Последний раз редактировалось googl; 19.01.2012 в 12:23.
googl вне форума Ответить с цитированием
Старый 19.01.2012, 12:21   #6
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Проще говоря читайте про отчёты там всё есть.
gluk_fm вне форума Ответить с цитированием
Старый 19.01.2012, 12:24   #7
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от gluk_fm Посмотреть сообщение
Проще говоря читайте про отчёты там всё есть.
все что про отчеты и итоговые запросы я нашел упирается в мастера. а мне нужно именно написать и понять суть
googl вне форума Ответить с цитированием
Старый 19.01.2012, 14:29   #8
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Как вариант (если нужна такая таблица а не простой отчёт) могу предложить:
- доработать ваш "отчёт" добавив условие отбора "склад" и сделать его запросом на добавление

- после чего сделать рекордсет. что-то вроде
dim db as database
set db = currentdb

set t = db.openrecordset (запрос на быорку складов)



t.movefirst
Do Until t.EOF
p = t![имя склада]

созданный запрос на добавление с условием отобора Like " & p & "

t.movenext
loop

Это первое что пришло на ум
gluk_fm вне форума Ответить с цитированием
Старый 19.01.2012, 14:38   #9
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от gluk_fm Посмотреть сообщение
Как вариант (если нужна такая таблица а не простой отчёт) могу предложить:
- доработать ваш "отчёт" добавив условие отбора "склад" и сделать его запросом на добавление

- после чего сделать рекордсет. что-то вроде
dim db as database
set db = currentdb

set t = db.openrecordset (запрос на быорку складов)



t.movefirst
Do Until t.EOF
p = t![имя склада]

созданный запрос на добавление с условием отобора Like " & p & "

t.movenext
loop

Это первое что пришло на ум
ну это то понятно. а если не использовать VB? как вариант мне предлагали сделать то же самое как общий итог только добавить условие для складов и по ним делать сортировку. но в таком случае мы получим ведь только для текущих складов? точнее для каждого последующего склада свой запрос? и если добавить новый склад нужно переписывать запрос. вот если бы можно было в UNION использовать данные из вверхустоящих запросов..?
googl вне форума Ответить с цитированием
Старый 19.01.2012, 14:49   #10
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

А чем VB плох? я так понимаю что в запросе на SQL нельзя сделать процедуру, хотя я могу и шибаться и последний вариант тогда не подойдёт, а предложенный мной выше будет выбирать только те склады по которым есть данные и не зависит от добавления новых или удаления старых....
gluk_fm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отчет. Сумма по листам и общий итог. Как? Relax2010 Microsoft Office Excel 1 02.05.2010 22:38
как сделать или отдолжить такой же движок форума как по ссылке? Дим@ Свободное общение 5 13.10.2009 20:55
как сделать аналог рабочего стола Windows? Paul Hindenburg Общие вопросы Delphi 10 12.10.2009 19:51
Подскажите как сделать аналог Felix Zeraim Свободное общение 2 07.03.2008 17:55