Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Вычисление поля в запросе нарастающим итогом


Автор: ramzes 24.1.2006, 18:20
Всем привет!

Давно не заходил на форум, приятно удивлен изменениями во внешнем виде сайта.

Такая проблема. Существует таблица следующего вида:

Сотрудник Дата Приход Расход Остаток
Иванов 01.01.2006 10 0
Иванов 02.01.2006 0 7
Иванов 03.01.2006 4 0
Петров 01.01.2006 0 6
Петров 02.01.2006 10 0
Петров 03.01.2006 0 2
Сидоров 01.01.2006 5 0
Сидоров 02.01.2006 0 5
Сидоров 03.01.2006 6 0
_______
Не могу сообразить как сделать запрос, чтобы остаток вычислялся нарастающим итогом по каждому сотруднику. Т.е. предыдущий остаток (остаток на предыдущую дату)+приход-расход и так по всем датам, а главное по каждому сотруднику.

Т.е. таблица должна приобрести следующий вид:

Сотрудник Дата Приход Расход Остаток
Иванов 01.01.2006 10 0 10
Иванов 02.01.2006 0 7 3
Иванов 03.01.2006 4 0 7
Петров 01.01.2006 0 6 -6
Петров 02.01.2006 10 0 4
Петров 03.01.2006 0 2 2
Сидоров 01.01.2006 5 0 5
Сидоров 02.01.2006 0 5 0
Сидоров 03.01.2006 6 0 6


Мб кто-нить что-нибудь подобное делал?

Автор: Akina 24.1.2006, 18:46
Получается, что у тебя в конечной таблице будут храниться переопределенные данные. Это не соответствует требованиям нормализации и вообще плохо укладывается в понятие реляционной модели.

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

Автор: ramzes 24.1.2006, 19:30
Akina, мб я не правильно сформулировал задачу, эти данные и нужны в отчете. Просто запрос не могу сообразить как сделать.

Автор: Papirus 25.1.2006, 09:42
Цитата(ramzes @ 24.1.2006, 19:30 Найти цитируемый пост)

Просто запрос не могу сообразить как сделать.

В запросе это и не требуется. Посмотри в свойствах любого поля отчета - вкладка Данные - Сумма с накоплением.

Автор: ramzes 25.1.2006, 19:27
Точно, Сумма с накоплением то, что нужно. Век живи век учись. Так часто бывает: начинаешь в дебри лезть, голову ломать, а решение на поверхности лежит. Прикольно.

Спасибо Papirus и Akina.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)