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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2012, 23:35   #11
Myhaylo
Форумчанин
 
Регистрация: 19.07.2012
Сообщений: 520
По умолчанию

1. Создайте на закладке "Запросы" окна "база данных" запрос "ЗапросПодчинённый":

SELECT (SELECT sum(ТT.т1) AS Sum_т1 FROM Т AS ТT WHERE ((ТT.т2 between Т.т2 and Т.т2+4))) AS Suma FROM Т;

Здесь формируется массив сумм за пять за 5 последовательно идущих календарных дней (задаётся условием ТT.т2 between Т.т2 and Т.т2+4).
Здесь используется подчинённый запрос, в котором таблица Т переназвана как ТТ (задаётся так: Т AS ТT).

2. Тогда итоговый запрос:

SELECT Max(ЗапросПодчинённый.Suma) AS Max_Suma FROM [ЗапросПодчинённый];

К сожалению, одним запросом не получается...
Окупант, руки прочь от Украины!!! Слава Героям!
Myhaylo вне форума Ответить с цитированием
Старый 16.08.2012, 10:33   #12
vdl
Пользователь
 
Регистрация: 11.08.2012
Сообщений: 11
По умолчанию

Всем огромное спасибо!
Задача решена, ключом было декартово произведение таблиц!!!
vdl вне форума Ответить с цитированием
Старый 16.08.2012, 11:12   #13
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Может расшифруете что Вы написали и выложите пример так как достаточно часто люди пользуются поиском и решение кому-то может пригодится.
gluk_fm вне форума Ответить с цитированием
Старый 16.08.2012, 20:03   #14
vdl
Пользователь
 
Регистрация: 11.08.2012
Сообщений: 11
По умолчанию

Вот пример!
Оставил SQL-синтаксис запроса Myhaylo и дополнительно тремя запросами от себя показал, как мне наглядно объяснили схему работы Декартова произведения. Добавил ещё счётчик периода даты т2, т.к. в случае расчёта среднего значения т1 за периоды т2+4 могут выскакивать некорректные значения.
Ещё раз спасибо всем за пмомщь!
Вложения
Тип файла: rar Primer.rar (11.1 Кб, 12 просмотров)
vdl вне форума Ответить с цитированием
Старый 16.08.2012, 20:57   #15
Myhaylo
Форумчанин
 
Регистрация: 19.07.2012
Сообщений: 520
По умолчанию

Мы все несказанно рады, что Вы работаете при разрешении порядка 2000 х 1000! Однако, на будущее: не нужно растягивать руками окно - для этого существует кнопка "Развернуть" (распахнуть на весь экран). Я ни единого запроса в режиме конструктора не смог просмотреть - пришлось пересохранять запросы через SQL-режим...

Как выяснилось, под декартовым перемножением понимается вывод всех записей из 2 несвязанных таблиц/запросов...
Окупант, руки прочь от Украины!!! Слава Героям!
Myhaylo вне форума Ответить с цитированием
Старый 18.08.2012, 22:35   #16
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте vdl.
Вашу задачку "..определить максимальную сумму.." можно решать
и не используя декартово умножение, например так:
Код:
SELECT Max((SELECT Sum(t1) FROM T as T1 WHERE t2 Between T0.D1 And T0.D2)) AS Result
FROM (SELECT t2 as D1, t2+5 AS D2 FROM T) T0
или так:
Код:
SELECT Min((SELECT Sum(t1) FROM T as T1 WHERE t2 Between T0.D1 And T0.D2)) AS minResult, 
Max((SELECT Sum(t1) FROM T as T1 WHERE t2 Between T0.D1 And T0.D2)) AS maxResult, 
Avg((SELECT Sum(t1) FROM T as T1 WHERE t2 Between T0.D1 And T0.D2)) AS avgResult
FROM (SELECT t2 as D1, t2+5 AS D2 FROM T) T0
что-бы получить больше статистических данных.

to Myhaylo: для удобочитаемости выкладываемый код заключайте в тэги [соdе] ... [/соdе]
для этого на панели инструментов расположена кнопка #.

Евгений.

Последний раз редактировалось Teslenko_EA; 19.08.2012 в 11:20.
Teslenko_EA вне форума Ответить с цитированием
Старый 19.08.2012, 23:29   #17
Myhaylo
Форумчанин
 
Регистрация: 19.07.2012
Сообщений: 520
По умолчанию

Здравствуйте, Евгений (ежели Вам так угодно)!
1. К сожалению, в MS Access не поддерживается выполнение вложенного запроса в предложении FROM...
2. Я не считаю, что мелкий цветной шрифт на сером фоне более удобочитаем.
Окупант, руки прочь от Украины!!! Слава Героям!
Myhaylo вне форума Ответить с цитированием
Старый 20.08.2012, 01:33   #18
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Myhaylo.
1. "..в MS Access не поддерживается.." - это вопрос или утверждение?
если утверждение - то оно ошибочно, если вопрос то он записан не верно.
Предложенные конструкции вполне работоспособны в MS Access, единственная
проблема - возможное "не восприятие" их Конструктором - построителем запросов.
Справиться с "проблемой" можно собрав запрос в SQL редакторе и сохранив его,
без открытия Конструктором запросы будут работать.
(Конструктор автоматически заключает некоторый текст в квадратные скобки
- что эквивалентно одному длинному имени)
Также конструкции будут работоспособны если будут подключены в качестве
источников к объектам БД (формам, спискам,...)
2. "..мелкий цветной шрифт.." На этом форуме администраторы достаточно демократично
относятся к подобному отношению, тем более правила форума не накладывают жестких ограничений.
Этот "серый фон" - это специальное выделение строк кода которое хорошо различимо
в тексте поста, Ваше право если хотите что-бы было удобно только Вам, можете никак не реагировать.

Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 21.08.2012, 02:37   #19
Myhaylo
Форумчанин
 
Регистрация: 19.07.2012
Сообщений: 520
По умолчанию

Действительно, в MS Access 97 - не работает, а в 2003 - работает...
Окупант, руки прочь от Украины!!! Слава Героям!
Myhaylo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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