|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.09.2016, 22:31 | #1 |
Новичок
Джуниор
Регистрация: 22.09.2016
Сообщений: 1
|
Проверка диапазона Delphi
Ребят такая задачка. Есть фирма по прокату авто. При регистрации проката есть поля фамилия,модель авто,гос номер,дата выдачи,кол-во дней,дата возврата. Надо сделать проверку чтоб нельзя было одну машину взять в прокат в те дни когда она взята уже в прокат. БД Acsess соединено через ADOTAble. Как решить эту задачу?
Нужен будет код кнопки добавления выложу Последний раз редактировалось VanRay_713; 22.09.2016 в 22:34. |
23.09.2016, 15:53 | #2 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 594
|
Добавьте поле "машина уже в прокате" и вся недолга...
При регистрации проката смотрим это поле и если оно FALSE, оформляем прокат и делаем поле TRUE. При возврате машины ставим его опять в FALSE. |
23.09.2016, 15:55 | #3 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
23.09.2016, 16:03 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
пересечение временных диапазонов можно сделать так
допустим, D1Beg - дата начала 1-го диапазона (проката) D1End - дата окончания 1-го диапазона (проката) при попытке забронировать авто в период с D2Beg по D2End признак пересечения диапазонов такой если (D1Beg between D2Beg and D2End) or (D1End between D2Beg and D2End) or (D2Beg between D1Beg and D1End) то есть пересечение интервалов (машина занята), иначе - период D2Beg and D2End свободен. |
23.09.2016, 16:14 | #5 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 23.09.2016 в 16:19. |
23.09.2016, 16:29 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
evg_m, круто! Годится.
|
23.09.2016, 16:50 | #7 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 594
|
|
23.09.2016, 22:50 | #8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Вот сегодня 23 сентября. пришёл человек и записал (забронировал) машину в прокат с 1 октября по 10 октября. По вашему, машина находится в прокате? Признак "машина уже в прокате" Вы поставите в True? а если придёт человек бронировать машину с 20 октября по 30 октября, Вы ему откажете, так? Ведь у Вас машину уже в прокате? или пришёл человек, который хочет взять машину с 26 сентября по 28 сентября, он тоже "пролетает"? Ваша контора, с таким подходом, разорится. p.s. я не призываю обсуждать задачу и способы решения. Ответ уже дал evg_m. Задача, на мой взгляд, решена. |
|
24.09.2016, 01:11 | #9 | |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
Цитата:
так что вы тоже с таким подходом не преуспеете. |
|
24.09.2016, 10:37 | #10 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
Принципы любого учета (прокат не исключение).
БД хранит две сущности: объекты учета и действия с ними. Объекты: авто (ID, Марка, ...). Клиенты тоже объекты учета. Действия: выдача и возврат авто. Примерная структура таблицы БД: ID, Дата/время, IDAuto, IDClient, Признак, Дата_возврата(для контроля), пробег, ... После того как в таблицу-справочник занесены все авто, необходимо записать остатки в виде "прихода" (возврата), т.е. какие авто находятся в конторе на дату начала учета: Код:
Код:
Если остаток 0, то в прокате, если 1, то можно выдавать. Такой подход обладает неоспоримым преимуществом - не теряется хронология проката, которая, как практика показывает, очень даже может пригодится. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверка диапазона ячеек | natan02 | Microsoft Office Excel | 2 | 02.07.2012 03:50 |
Проверка значений диапазона | Verano naranjo | Microsoft Office Excel | 1 | 24.02.2010 11:14 |
Проверка ячейки на значение и форматирование диапазона | voievod | Microsoft Office Excel | 5 | 24.08.2009 11:24 |
Проверка диапазона ячеек | Last | Microsoft Office Excel | 9 | 16.08.2009 19:19 |
проверка диапазона | Bezdar | Microsoft Office Excel | 15 | 30.07.2008 08:59 |