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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2019, 12:40   #1
iskurt
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 228
По умолчанию Проверка накладки временного интервала разных записей

Всем привет. Коллеги, прошу дать подсказку как правильно сделать проверку накладки временного интервала.
Суть такова:
Пользователи вносят в базу свои операции с указанием время начала и время конца операции (текущей датой).
Хочу исключить человеческий фактор, что бы юзвери не ошибались при воде времени начала и конца, а именно, что бы они случайно не указали интервал времени, который может входить в другой интервал времени.
Время начала и конец операции разнесен по разным полям begin time (time_b) и end time (time_e)
Снимок321321321322.PNG
Выглядит создание записи операции так:
Снимок321321321321.PNG

так вот, нужно чтобы начало и конец проверялись, а не входят ли они в другую операцию?
На скрине видно, что одна операция входит в интервал другой.

На сколько я понимаю искать можно с помощью BETWEEN, я прав? или тут другое правило стоит применять?
iskurt вне форума Ответить с цитированием
Старый 11.04.2019, 12:49   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

само собой конец интервала должен быть позже начала. BETWEEN не поможет

если найдены ПроверяемоеНачало<Конец and ПроверяемыйКонец>Начало то пересекаются

В полночь нет операций? Будет проблема если есть
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.04.2019, 12:51   #3
iskurt
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 228
По умолчанию

операции с 08-30 до 17-30
iskurt вне форума Ответить с цитированием
Старый 11.04.2019, 12:52   #4
iskurt
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 228
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
если ПроверяемоеНачало<Конец И ПроверяемыйКонец>Начало
Не, такой вариант мне кажется не подойдет, т.к. в интервал может или только начало или только конец
ведь сравнивать нужно со всеми операциями
iskurt вне форума Ответить с цитированием
Старый 11.04.2019, 12:53   #5
iskurt
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 228
По умолчанию

Хотя, идею я понял
iskurt вне форума Ответить с цитированием
Старый 11.04.2019, 12:53   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Это уже не интервал. Но и для такого случая можно. Например есть только начало. Тогда все концы должны быть не позже его
Цитата:
операции с 08-30 до 17-30
А человеческий фактор? Обязательно кто-то введет 01-30 )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 11.04.2019 в 12:56.
Аватар вне форума Ответить с цитированием
Старый 11.04.2019, 12:58   #7
iskurt
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 228
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А человеческий фактор? Обязательно кто-то введет 01-30 )
на это првоерка стоит ;-)
iskurt вне форума Ответить с цитированием
Старый 11.04.2019, 12:58   #8
iskurt
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 228
По умолчанию

нельзя начало операции раньше 08-30 и конец позже чем 17-30
iskurt вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Универсальная обработка динамических массивов разных записей Карпотреских Общие вопросы Delphi 9 02.03.2014 13:11
Использование одинаковых свойств разных записей. Alex Cones Общие вопросы Delphi 6 30.01.2011 15:04
написать программу пересчета величин временного интервала rom6520 Паскаль, Turbo Pascal, PascalABC.NET 3 19.01.2011 18:19
Одновременное удаление записей в разных таблицах Lkhasa БД в Delphi 9 16.12.2010 13:21
Выбор и перенос максимальных значений из столбца с учетом временного интервала. Tidus Microsoft Office Excel 74 10.02.2010 17:18