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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.08.2012, 04:18   #1
vdl
Пользователь
 
Регистрация: 11.08.2012
Сообщений: 11
По умолчанию Максимальная сумма последовательных значений из диапазона

Доброго времени суток!
Помогите, пожалуйста, с заданием:
- необходимо определить максимальную сумму из определённого количества (например - 6) подрядидущих целых положительных числовых значений, содержащихся в одном поле таблицы. Т.е. необходимо суммировать по 6 полей со смещением на одно и вывести максимальное значение из получившихся.
Задание является полным аналогом такого же в Excel'e - http://programmersforum.ru/showthread.php?t=209319
Заранее огромное спасибо!
vdl вне форума Ответить с цитированием
Старый 14.08.2012, 11:50   #2
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Добрый день.
Попробовать можно так:

Код:
i = 1
Set rs = db.OpenRecordset("имя таблицы", dbOpenDynaset)
rs.MoveFirst
Do Until rs.EOF
p=rs![имя поля]
If rs![имя поля] >p Then
p=rs![имя поля]
end if

i = i + 1
if i = 6 then'укзываешь необходимое количество для перебора
i=1
запрос на добавления значения "p"
rs.MoveNext
end if

rs.MoveNext
Loop
gluk_fm вне форума Ответить с цитированием
Старый 14.08.2012, 15:49   #3
vdl
Пользователь
 
Регистрация: 11.08.2012
Сообщений: 11
По умолчанию

В задании присутствует поле дат и сказали, что необходимо строить запрос через переборку значений дат (дата:дата+6; дата+1:дата+7; дата+2:дата+8 и т.д.)
vdl вне форума Ответить с цитированием
Старый 15.08.2012, 11:50   #4
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Может тогда опишите поподробнее? Я лично ничего не понялс последнего задания.
gluk_fm вне форума Ответить с цитированием
Старый 15.08.2012, 13:13   #5
vdl
Пользователь
 
Регистрация: 11.08.2012
Сообщений: 11
По умолчанию

Цитата:
Сообщение от gluk_fm Посмотреть сообщение
Может тогда опишите поподробнее? Я лично ничего не понялс последнего задания.
Постараюсь... С Access`ом начал знакомиться меньше недели, поэтому иногда не могу правильно сформулировать даже вопрос...

Полное условие задания: Есть таблица Т с числовым полем т1 и полем даты т2. Необходимо определить максимальную сумму значений из поля т1 за 5 последовательно идущих дней.
Моя логика - вычислить суммы интервалов День1-День5, День2-День6 и т.д. (не могу понять, как это реализовать в Access`е....) и затем уже из полученніых значений выбрать максимальное.
vdl вне форума Ответить с цитированием
Старый 15.08.2012, 16:29   #6
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

А может попробовать не усложнять жизнь и написать как-то так:


Код:
i = 1
Set rs = db.OpenRecordset("запрос на выборку с сортировкой дат по возростанию/убыванию")
rs.MoveFirst
Do Until rs.EOF
p=rs![имя поля]
If rs![имя поля] >p Then
p=rs![имя поля]
end if

i = i + 1
if i = 6 then'укзываешь необходимое количество для перебора
i=1
запрос на добавления значения "p"
rs.MoveNext
end if

rs.MoveNext
Loop
Лень двигатель прогресса, чем больше мы ленимся тем больше делаем!
gluk_fm вне форума Ответить с цитированием
Старый 15.08.2012, 16:31   #7
vdl
Пользователь
 
Регистрация: 11.08.2012
Сообщений: 11
По умолчанию

К сожалению мне надо реализовать это с помощью именно запросов...
vdl вне форума Ответить с цитированием
Старый 15.08.2012, 16:37   #8
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Так это и есть перебор запроса.
gluk_fm вне форума Ответить с цитированием
Старый 15.08.2012, 17:04   #9
vdl
Пользователь
 
Регистрация: 11.08.2012
Сообщений: 11
По умолчанию

Если я правильно понимаю, это программируемый запрос.. Возможно ли решить эту задачу с использованием стандартных функций?
vdl вне форума Ответить с цитированием
Старый 15.08.2012, 18:18   #10
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Пока в голову приходит только запрос с условием отбора [введите дату]+6
gluk_fm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Маскимальная сумма последовательных значений из ряда vdl Microsoft Office Excel 12 12.08.2012 00:49
сумма диапазона по критерию intuit Microsoft Office Excel 6 14.06.2011 18:50
матрица. максимальная сумма столбца koch-a Общие вопросы C/C++ 2 01.12.2010 23:38
Сумма трех наименьших элементов диапазона Gerzs Microsoft Office Excel 1 08.11.2010 19:51
максимальная сумма элементов подмассива в массиве Sparky Помощь студентам 11 05.11.2009 15:50