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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2015, 23:11   #1
ad66
 
Регистрация: 20.09.2015
Сообщений: 7
По умолчанию Задача коректного построения на одной диаграмме нескольких графиков по датам. Access 2007

В присоединенных файлах 1. Word постановка задачи 2. Некоректный график в Excel 3. БД с исх. таблицами, запросами, диаграммами. Просьба помочь в решении этой задачи.
Вложения
Тип файла: docx Построить на одной диаграмме совместно несколько графиков текст.docx (18.0 Кб, 14 просмотров)
Тип файла: xlsx График.xlsx (65.6 Кб, 13 просмотров)
Тип файла: rar База данных.rar (95.7 Кб, 16 просмотров)
ad66 вне форума Ответить с цитированием
Старый 05.11.2015, 20:24   #2
ad66
 
Регистрация: 20.09.2015
Сообщений: 7
По умолчанию

Может кто то может помочь в отдельных частностях, в одном из заданных вопросов, буду очень признателен.
ad66 вне форума Ответить с цитированием
Старый 09.11.2015, 17:18   #3
AleksandrH
Форумчанин
 
Аватар для AleksandrH
 
Регистрация: 15.02.2010
Сообщений: 148
По умолчанию

Вопрос: как суммировать?
дата 07/07/2015
таблица audusd с приб сума столбца профит = 35, а макс число в Прибыль = 30
таблица Исходная audusd без приб сума столбца профит = 35
Покажите на примере етого дня
WIX-FILTERS. A Filter for every application.
AleksandrH вне форума Ответить с цитированием
Старый 10.11.2015, 13:40   #4
ad66
 
Регистрация: 20.09.2015
Сообщений: 7
По умолчанию

Так должно быть Исходная audusd без приб и audusd с приб

Код1 вр закр пара профит своп Прибыль
1 07.07.2015 14:17:49 audusd 5 0 5
2 07.07.2015 16:59:29 audusd 12 0 17
3 07.07.2015 16:59:29 audusd -2 0 15
4 07.07.2015 17:51:14 audusd 5 0 20
5 07.07.2015 19:43:52 audusd 9 0 29
6 07.07.2015 19:43:52 audusd 1 0 30
7 07.07.2015 21:01:45 audusd 5 0 35

Расчет величины «прибыль» производим по ф-ле Прибыль=Прибыль+профит+своп В таблице audusd с приб столбец Прибыль считался в Excel, а там происходила сдвижка: первая сумма прибыль=5+0=5 помещалась во вторую строку, а не в первую и так далее. Если эту сдвижку, на одну строку. столбца Прибыль ликвидировать, то данные по таблицам audusd с приб и Исходная audusd без приб совпадут.
Какие то таблицы я считал уже в Access, сдвижка цифр Прибыли, по строчкам отсутствовала.
Честно говоря я на эту мелочь сейчас внимания не обращал, даже если эту некорректность не исправлять она в конечном результате , можно считать, равна нулю.

Последний раз редактировалось ad66; 10.11.2015 в 13:46.
ad66 вне форума Ответить с цитированием
Старый 10.11.2015, 14:06   #5
AleksandrH
Форумчанин
 
Аватар для AleksandrH
 
Регистрация: 15.02.2010
Сообщений: 148
По умолчанию

Цитата:
Таблицы, в которых данные подготовлены для построения графиков, т.е. вычислен [в Excel] столбец «Прибыль» (audusd с приб, eurchf с приб, eurjpy с приб, eurusd с приб, gbpusd с приб и т.д.), Там же приведены таблицы в которых столбец «Прибыль» не вычислен еще (audusd без приб, eurchf без приб, eurgbp без приб, я eurjpy без приб). Столбец «Прибыль» вычислялся в в Excel, его необходимо вычислять в Access,
Попробуй вариант:
создаешь запрос usdjpy1
Код:
SELECT 
Format([вр закр],"ddmmyyyy") AS d1, 
[Исходная audusd без  приб].[вр закр], 
[Исходная audusd без  приб].пара, 
Sum([Исходная audusd без  приб].профит) AS Profit, 
Sum([Исходная audusd без  приб].своп) AS SWOP
FROM [Исходная audusd без  приб]
GROUP BY Format([вр закр],"ddmmyyyy"), [Исходная audusd без  приб].[вр закр], [Исходная audusd без  приб].пара;
и второй
Код:
SELECT (SELECT SUM([Profit]) 
              FROM usdjpy1 p
              WHERE p.d1=p1.d1 and (p.[вр закр]<=p1.[вр закр] or
               (p.d1<=p1.d1 and p.[вр закр]=p1.[вр закр] ))) AS sProfit, 
              (SELECT SUM([Swop]) 
              FROM usdjpy1 p
              WHERE p.d1=p1.d1 and (p.[вр закр]<=p1.[вр закр] or
               (p.d1<=p1.d1 and p.[вр закр]=p1.[вр закр] ))) AS sSwop, sswop+sprofit AS sssssummm, p1.[вр закр], p1.пара, p1.Profit, p1.swop
FROM usdjpy1 AS p1;
Проверь правильно ли считает для таблицы [Исходная audusd без приб]
WIX-FILTERS. A Filter for every application.
AleksandrH вне форума Ответить с цитированием
Старый 10.11.2015, 23:29   #6
ad66
 
Регистрация: 20.09.2015
Сообщений: 7
По умолчанию

Уважаемый Александр. Запустил Ваши запросы, сработали.
Результат sssssummm считается правильно в пределах одной даты, например 07.07.2015, для следующей даты 08.07.2015 расчет суммы sssssummm начинается с нуля, а это по логике неверно. Суммирование должно производиться для всех дат от 07.07.2015 до последней 21.08.2015 , например для audusd. Для других пар, например для gbpusd в таблице "gbpusd с приб" суммирование должно быть также сквозным для всех дат.
Я прикрепил Базу данных 2, где уменьшил кол-во таблиц и графиков, чтобы не путались под ногами. Там же есть
1. табл " Отчет от 21 08 15" как бы исходная для разбиения на пары "audusd" , "gbpusd" и т.д.
2. модуль " FunSSum с сорт пары" - вычисление колонки прибыль и сортировка по парам
3. запросы "Зап1 Общ сорт и Сум" и "Зап2 Общ Приб " которые непосредственно сортируют по парам и вычисляют столбец "прибыль".
Вот только подсмотренная мною процедура в модуле имеет грехи.
1. Столбец "Прибыль" вычисляется как будто правильно, но только первый раз. При повторе - Абра кадабра. Похоже переменная "PrevSum " в модуле, при повторном повторном вычислении (запуск запроса повторно) уже не равна нулю.
2. Процедура вычисления столбца "прибыль" все таки иногда дает сбой, может где то появиться непонятная цифра.
Мой e-mail adsha2@mail.ru Скайп adsha__ (Два нижних подчеркивания)
Вложения
Тип файла: rar База данных 2.rar (68.8 Кб, 10 просмотров)

Последний раз редактировалось ad66; 10.11.2015 в 23:33.
ad66 вне форума Ответить с цитированием
Старый 11.11.2015, 09:27   #7
AleksandrH
Форумчанин
 
Аватар для AleksandrH
 
Регистрация: 15.02.2010
Сообщений: 148
По умолчанию

Что за пустая строка в таблице "Исходная Audusd без приб", без нее никак?

запрос usdjpy2
Код:
SELECT (SELECT SUM([Profit]) 
              FROM usdjpy1 p
              WHERE p.пара=p1.пара and (p.[вр закр]<=p1.[вр закр] or
               (p.пара<=p1.пара and p.[вр закр]=p1.[вр закр] ))) AS sProfit, (SELECT SUM([Swop]) 
              FROM usdjpy1 p
              WHERE p.пара=p1.пара and (p.[вр закр]<=p1.[вр закр] or
               (p.пара<=p1.пара and p.[вр закр]=p1.[вр закр] ))) AS sSwop, sswop+sprofit AS sssssummm, p1.[вр закр], p1.пара, p1.Profit, p1.swop
FROM usdjpy1 AS p1
ORDER BY p1.[вр закр];

вроде еще сумму с накоплением можна с помощью DSum посчитать. У меня, к сожалению, не получилось

Код:
SELECT 
[Исходная audusd без  приб].[вр закр], [Исходная audusd без  приб].пара, [Исходная audusd без  приб].профит, 
DSum("[профит]","[Исходная audusd без  приб]","[вр закр]<=#" & Format([вр закр],"dd\/mm\/yyyy hh:nn:ss") & "#") AS Выражение1, 
"[вр закр]<=#" & Format([вр закр],"dd\/mm\/yyyy hh:nn:ss") & "#" AS d, 
DSum("[профит]","[Исходная audusd без  приб]","[вр закр]<=#" & Format([вр закр],"dd\/mm\/yyyy hh:nn:ss") & "#") AS Выражение2
FROM [Исходная audusd без  приб]
GROUP BY [Исходная audusd без  приб].[вр закр], [Исходная audusd без  приб].пара, [Исходная audusd без  приб].профит, 
"[вр закр]<=#" & Format([вр закр],"dd\/mm\/yyyy hh:nn:ss") & "#", 
DSum("[профит]","[Исходная audusd без  приб]","[вр закр]<=#" & Format([вр закр],"dd\/mm\/yyyy hh:nn:ss") & "#"), 
DSum("[профит]","[Исходная audusd без  приб]","[вр закр]<=#" & Format([вр закр],"dd\/mm\/yyyy hh:nn:ss") & "#")
ORDER BY [Исходная audusd без  приб].[вр закр];
WIX-FILTERS. A Filter for every application.

Последний раз редактировалось AleksandrH; 11.11.2015 в 12:24.
AleksandrH вне форума Ответить с цитированием
Старый 11.11.2015, 12:10   #8
ad66
 
Регистрация: 20.09.2015
Сообщений: 7
По умолчанию

Если речь идет о пустой строке №163 в таблице "Исходная Audusd без приб", то это ошибка программы при формировании этой таблицы (скорее при загрузке самой исходной таблицы из формата HTML в Access). Такие ошибки, где в столбцах (профит, своп) вместо цифры появлялись пробелы исправлял вручную на "0".

Через DSum коллега суммировал в Excel, в Access в хелпе по этому поводу ничего не нашел, а собственные попытки использовать DSum в запросе оказались пустыми.

Ваш новый код запрос usdjpy2 считает верно. Если разберусь в логике этого запроса, использование p p1, то смогу тоже поэкспериментировать.

Когда то миллион лет назад у меня была база образцов программных кодов, меняя их, создавал свои.

Последний раз редактировалось ad66; 11.11.2015 в 12:38.
ad66 вне форума Ответить с цитированием
Старый 11.11.2015, 19:36   #9
ad66
 
Регистрация: 20.09.2015
Сообщений: 7
По умолчанию

Спасибо Александр, этот фрагмент задачи с Вашей помощью решен, пусть и не самым оптимальным образом.
Вопрос: можем ли мы с Вами продолжить решать мою задачу на какой либо основе.
p.s. Вы програмируете в VBA?
ad66 вне форума Ответить с цитированием
Старый 11.11.2015, 21:44   #10
AleksandrH
Форумчанин
 
Аватар для AleksandrH
 
Регистрация: 15.02.2010
Сообщений: 148
По умолчанию

Давайте попытаемся, может что-то и сделаем
WIX-FILTERS. A Filter for every application.
AleksandrH вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
компонент для построения графиков Daemvil Компоненты Delphi 11 20.03.2015 15:39
Построения графиков в Execl2007 Figaro2119950 Microsoft Office Excel 3 31.03.2011 20:42
Принцип построения графиков. Zuduka Microsoft Office Excel 1 12.02.2010 17:10
Графика (программа построения графиков)) zooom Общие вопросы C/C++ 1 16.04.2009 15:47
программа для построения графиков Kris007 Microsoft Office Word 1 04.11.2008 23:37