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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2019, 15:47   #11
НиколайТретий
 
Регистрация: 22.03.2019
Сообщений: 8
По умолчанию

Да я не против без циклов обойтись, использовав Count с условием. Но не хочет же считать. Может быть, у меня Аксесс старенький? Десятый.
НиколайТретий вне форума Ответить с цитированием
Старый 22.03.2019, 15:51   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Какой тип полей дата-время прихода и время обработки в базе?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.03.2019, 15:52   #13
НиколайТретий
 
Регистрация: 22.03.2019
Сообщений: 8
По умолчанию

Посчитать время конца не сложно. Просто не хотелось лишнюю запись добавлять. Но табу на это нет. Не понимаю, чем это лучше условий, прописанных через время начала и время обработки.
НиколайТретий вне форума Ответить с цитированием
Старый 22.03.2019, 15:54   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Просто не хотелось лишнюю запись добавлят
Какая лишняя запись? Это вычисляемое выражение в запросе. Но оно должно быть правильным, что бы в результате получилось дата-время
Цитата:
Посчитать время конца не сложно
Вот и покажи как запросом считаешь это не сложно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.03.2019, 15:57   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от НиколайТретий Посмотреть сообщение
Посчитать время конца не сложно.
оставьте в вашей БД несколько записей (желательно, чтобы пересечения присутствовали для тестирования), запакуйте БД и выложите архив на форум.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.03.2019, 15:57   #16
НиколайТретий
 
Регистрация: 22.03.2019
Сообщений: 8
По умолчанию

Тип данных:
Время обработки - краткий формат времени
Дата/время прихода - полный формат даты
Суммируются и вычитаются они нормально.
НиколайТретий вне форума Ответить с цитированием
Старый 22.03.2019, 16:09   #17
НиколайТретий
 
Регистрация: 22.03.2019
Сообщений: 8
По умолчанию

Спасибо всем за оперативные советы. Нас тут на выходные выгоняют. Продолжу позже.
НиколайТретий вне форума Ответить с цитированием
Старый 25.03.2019, 10:25   #18
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
Да я не против без циклов обойтись, использовав Count с условием. Но не хочет же считать. Может быть, у меня Аксесс старенький? Десятый.
Access2003
можно было бы и старшеdt+qt.JPG
но писал код конечно в режиме SQL.

и тоже самое (почти) и немножко больше кодом
Код:
select id, qnext +qprev --а затем их просуммировать
from ( 
       select id, dt, dt+q as ft, ( select min(dt) время прихода следующего 
                                    from t as tnext 
                                    where tnext.dt > t1.dt 
                                      and tnext.dt < t1.dt+t1.q t1.ft  {=  tnext.dt between t1.dt and t1.dt +t1.q }
                                      and tnext.id <> t1.id 
                                   ) as nextdt,
                                  ( select count(id) число пришедщих следом
                                    from t as tnext 
                                    where tnext.dt > t1.dt 
                                      and tnext.dt < t1.dt+t1.q t1.ft
                                      and tnext.id <> t1.id 
                                   ) as qnext,
                                  ( select top 1 id кто пришел следом
                                    from t as tnext 
                                    where tnext.dt > t1.dt 
                                      and tnext.dt < t1.dt+t1.q t1.ft
                                      and tnext.id <> t1.id 
                                    order by tnext.dt 
                                   ) as nextid   
                                  ( --все это можно посчитать и для тех кто был ДО (передыдущего)
                                    tnext.dt +tnext.q < t1.dt+t1.q t1.ft
                                    tnext.dt          < t1.dt+t1.q t1.ft
                                   ) as ...prev
      from t as t1 
    ) as q
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение области на изображении непрерывными отрезками Marsel737 Общие вопросы Delphi 5 21.04.2010 23:46
как получить значение поля грид на основе значения другого lookUp поля malayka БД в Delphi 0 21.04.2010 19:06
Выявление одинаковости значений поля в одной талице по значению поля в другой nikmay SQL, базы данных 4 13.08.2009 12:51
Найти координаты хотя бы одной точки, попадающей в область, образованную тремя пересекающимися линиями. Zibiv Помощь студентам 1 03.10.2008 17:55