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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2014, 16:18   #1
Protuberanez
Пользователь
 
Регистрация: 15.03.2011
Сообщений: 45
По умолчанию Помогите с расчетами...

Всем доброго времени суток.
У меня возникла проблема следующего характера.
Есть таблица с данными:Proba.rar.
Надо посчитать разницу во времени между следующей и текущей строками и посчитать такую же разницу в данных из столбца Data.
Даже не знаю как подойти к этому вопросу... и что еще более парадоксально не знаю как сформировать таблицу что бы можно было бы это все просчитать... в Excel знаю как реализовать, а с Access реальная проблема... подскажи что делать...
Protuberanez вне форума Ответить с цитированием
Старый 04.12.2014, 17:21   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

http://programmersforum.ru/showthrea...32#post1140232
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 05.12.2014, 11:32   #3
Protuberanez
Пользователь
 
Регистрация: 15.03.2011
Сообщений: 45
По умолчанию

Посмотрел ссылку, оба примера...
Попытался повторить у себя...
Ничего не получается, постоянно выдается ошибка синтаксиса...
осмыслить и понять происходящего не могу... чет мозга не хватает... можно как то по подробнее описать логику?
Если можно, то логику применительно к моему примеру...

Последний раз редактировалось Protuberanez; 05.12.2014 в 11:36.
Protuberanez вне форума Ответить с цитированием
Старый 08.12.2014, 13:23   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

в полном соответсвии с вашей структурой
Код:
SELECT Svet.Day, Svet.Time
, ( select min(d.day) from svet as d where (d.day=svet.day and d.time>svet.time) or (d.day>svet.day)  ) as d1
, ( select min(t.time) from svet as t 
     where t.day=( select min(d.day) from svet as d  where (d.day=svet.day and d.time>svet.time) or (d.day>svet.day) )
         and ( (t.time>svet.time and t.day=svet.day) or (t.day>svet.day) ) ) as t1 
FROM Svet

order by svet.day, svet.time
Гораздо проще если НЕ разделять в БД дату и время. Не зря для этого используется ЕДИНЫЙ тип дата/время.
А разделение ЕСЛИ оно необходимо во время вывода.

Код:
SELECT Day+time
, (select min(day+time) from svet as dt where dt.day+dt.time  >svet.day+svet.time ) as dt2
FROM Svet
order by day+time;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 11.12.2014, 18:46   #5
Protuberanez
Пользователь
 
Регистрация: 15.03.2011
Сообщений: 45
По умолчанию

Шикарно... Огромное спасибо за помощь... это то что мне надо... а дату и время я разделил намеренно, с расчетом на то что возможно в дальнейшем придется их разделять при анализе данных... и мне проще слепить дату и время, чем разделять эти 2 вида данных... Дальше буду фантазировать... еще раз СПАСИБО...
Protuberanez вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Power Pivot для Excel (добавление столбца с расчетами) baters Microsoft Office Excel 1 10.08.2012 14:19
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30
Помогите пожалуйста с расчетами .... Sashko Паскаль, Turbo Pascal, PascalABC.NET 12 22.11.2008 11:52
Помогите с расчетами в Excel Eugene*** Microsoft Office Excel 1 19.11.2008 22:08