| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 25.1.2006, 19:27 |
| Точно, Сумма с накоплением то, что нужно. Век живи век учись. Так часто бывает: начинаешь в дебри лезть, голову ломать, а решение на поверхности лежит. Прикольно. Спасибо Papirus и Akina. |