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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2009, 14:22   #1
Shtirlic2009
 
Регистрация: 16.06.2009
Сообщений: 8
По умолчанию Суммирование строк в Access

Добрый день

Просьба помочь в формировании запроса в Access 2003, суть которого заключается в следующем:
Есть таблица с данными, например два столбца: ИМЯ и ЧИСЛО по данному имени.
Данные в таблице отсортированы в порядке убывания. Необходимо чтоб начиная со второй строки данных ЧИСЛО прибавлялось к предыдущей строке. И скажем Строка1+Строка2=Определенная цифра. Нужно чтоб Число Строки3 прибавлялось к сумме значений Строка1+Строка2.
А Строка4 прибавлялась к сумме значений Строка1+Строка2+Строка3. И так далее.
Это необходимо для расчёта накопительного итога в ABC анализе.
Заранее благодарен если кто поможет.
Shtirlic2009 вне форума Ответить с цитированием
Старый 16.06.2009, 14:51   #2
b00s
Форумчанин
 
Регистрация: 19.01.2008
Сообщений: 120
По умолчанию

Код:
SELECT ИМЯ, SUM(ЧИСЛО)
FROM Таблица
GROUP BY Имя
ну вы и замутили с условием ))))
b00s вне форума Ответить с цитированием
Старый 16.06.2009, 15:00   #3
Shtirlic2009
 
Регистрация: 16.06.2009
Сообщений: 8
По умолчанию

Не совсем подходит данный код:
У меня таблица:
Столбец1-Название
Столбец2-Сумма
И так множество строк
Сумма следующей строки должна равняться сумме из столбца2 всех предыдущих строк и так в каждой последующей.
Shtirlic2009 вне форума Ответить с цитированием
Старый 16.06.2009, 15:42   #4
b00s
Форумчанин
 
Регистрация: 19.01.2008
Сообщений: 120
По умолчанию

несовсем понятно, что делать со столбцом Название.
Сделайте пример как есть и что должно получится на основе нескольких строк.
b00s вне форума Ответить с цитированием
Старый 16.06.2009, 15:54   #5
Shtirlic2009
 
Регистрация: 16.06.2009
Сообщений: 8
По умолчанию

Таблица след.содержания:
Столбец1(Имя) Столбец2(сумма) Столбец3(Формула)
Имя1 __________ 30 _______________30=30+Null (так как это первое)
Имя1 __________ 28 _______________58=30+28
Имя1 __________ 26 _______________84=58+26
Имя1 __________ 20 _______________104=84+20
Имя2 __________ 30 _______________30=30+Null (новый цыкл)
Имя2 __________ 10 _______________40=30+10


и т.д

Сортировка идёт по Столбцу1 по возрастанию и Столбцу2 по убыванию

PS - В столбце1 будут названия объектов. Нужно чтоб как только объект менялся, формула в столбце3 начиналась заново по принципу - Значиние Столбца2+Null

Последний раз редактировалось Shtirlic2009; 16.06.2009 в 16:05.
Shtirlic2009 вне форума Ответить с цитированием
Старый 16.06.2009, 17:16   #6
b00s
Форумчанин
 
Регистрация: 19.01.2008
Сообщений: 120
По умолчанию

Вот посмотрите как это делается:
Вложения
Тип файла: rar Example.rar (11.9 Кб, 358 просмотров)
b00s вне форума Ответить с цитированием
Старый 16.06.2009, 17:22   #7
Shtirlic2009
 
Регистрация: 16.06.2009
Сообщений: 8
По умолчанию

Большое спасибо. Это именно то что нужно.
Shtirlic2009 вне форума Ответить с цитированием
Старый 17.06.2009, 15:07   #8
Shtirlic2009
 
Регистрация: 16.06.2009
Сообщений: 8
По умолчанию

Протестировал вчера вложенную базу и обнаружил что она работает только на Вашем примере. Я прикрепил к своему сообщению результат своего тестирования.
Проблема в следующем - в БД есть запрос Example10000, аналогичный вашему Example, только обрабатывает мои данные (именно те, которые мне нужны). Результат он отображает: а)некорректный и б)изменяемый. То есть можете проверить, при открытом запросе при нажатии кнопки F9, то есть при обновлении результат колонки Total меняеться Соответственно работать с таким запросом не имеет смысла. В вашем же запросе, где данных по меньше, так как это пример - всё работает правильно.
Так же добавлю, что когда я пытался прописать формулу SSum в своей БД - мне выдавал Access что такой функции не существует. В вашей же БД такой проблемы не возникло.
С чем это все может быть связано и как это можно решить?
Вложения
Тип файла: rar Example.rar (657.9 Кб, 122 просмотров)
Shtirlic2009 вне форума Ответить с цитированием
Старый 17.06.2009, 16:14   #9
Shtirlic2009
 
Регистрация: 16.06.2009
Сообщений: 8
По умолчанию

Хочу ещё добавить, что я кажись понял причину проблемы - в Вашем примере числа целые, а мне необходимо произвести расчёт по дробным
Shtirlic2009 вне форума Ответить с цитированием
Старый 17.06.2009, 16:18   #10
b00s
Форумчанин
 
Регистрация: 19.01.2008
Сообщений: 120
По умолчанию

Цитата:
Так же добавлю, что когда я пытался прописать формулу SSum в своей БД - мне выдавал Access что такой функции не существует. В вашей же БД такой проблемы не возникло.
С чем это все может быть связано и как это можно решить?
а вы в ваш пример перенесли программный модуль из моего примера. В этом программном модуле я создал функцию SSum. Поэтому у вас и не работает эта функция ))).
b00s вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица A состоит из 8 строк и 6 столбцов. вычесть из всех её строк, начиная со второй, первую строку Dimak24 Помощь студентам 1 19.12.2008 15:45
Access индексирование строк Melamory Microsoft Office Access 3 28.09.2008 19:18
Excel max 256 строк VS user надо 300 строк Exo Microsoft Office Excel 3 10.01.2008 17:14
суммирование данных из чётных и нечётных строк (отдельно!) zetrix Microsoft Office Excel 0 30.10.2006 19:49