powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Дата/Время (не пересекаются ли сроки с другими периодами)
25 сообщений из 34, страница 1 из 2
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690503
tsoifun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняйтк новичка, но помогите решить проблемку:
Есть таблица куда заносятся даты/время начала и конца определённого периода.
Есть форма с помощью, которой заносятся даты/время, но как сделать так чтобы можно было проверить есть ли уже такая дата/время в таблице и не пересекаются ли сроки с другими периодами.
Скажем так
есть два периода
№1 и № 2
Время №1 01/01/04 00:00 - 05/01/04 00:00
Если вводить время №2 с 04/01/04 05:00, то это будет пересекаться с периодом №1.
Лучше бы сделать так, чтобы каждый следующий период начинался ровно с моменьа окончания предэдущего, тогда видимо не надо будет проверять всё это...Но тоже не знаю как это сделать.
Помогите...Кто может помогите
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690521
а сколько у вас там времени? часов 7 вечера?

если нужно сделать так, чтоб следующий период начинался в момент окончания предыдущего - так запрсом вытаскивай максимальную дату из поля, в котором хранится окончание периода - и подставляй в начало нового периода
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690527
tsoifun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ка уже написал - я новичок. Чуть поподробней каким образом запросом можно это дело втащить?
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690531
dim rs as dao.recordset
dim NewPeriodStart as date

set rs = currentdb.openrecordset("SELECT max(поле в котором конец периода) as MaxDate FROM TBL_NAME")
NewPeriodStart = rs(0)

rs.close
set rs = nothing

Это через DAO - в ADO немного другой синтаксис :)
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690533
tsoifun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я попробовал через DLOOKUP, но дало ошибку run-time error '3464'
Или DLOOKUP не работает со датой/временем?
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690537
tsoifun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо - обязательно попробую.

Если можно, то ещё вопрос:
Есть номер машины и у неёё есть своё номер рейса - допустим машина А, рейс №1
Может быть ещё одна машина Б и у неё тоже может быть рейс №1.
Как сделать так чтобы номера рейсов не повторялись - я понима, но как сделать чтобы проверялось есть ли уже такой рейс у конкретной машины или нет?
Спасибо
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690538
нужно организовать соместный ключ на эти два поля.
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690540
tsoifun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если бы я знал как сделать совместный ключ, то сказал бы СПАСИБО, а так вынужден задать вопрос про совместный ключ. В книге по ACCESS что-то не находится
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690541
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выделяешь в конструкторе несколько поелй, удерживая шифт. И жмакаешь на кнопку "ключ". В итоге слева появятся ключи у этих полей
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690542
tsoifun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется, что в моём случае просто запросом перитаскивания максимальной даты не совсем правильно. В этом запросе не будет сравнения по какой машине идёт выборка поэтому может вытащить период, который принадлежит другой машине. Получается, что при вводе нового номера рейса и даты/времени необходимо сравнивать есть ли такой же № и эта дата/время у этой машины или нет и можно записать новое. как сделать - не знаю. Приморов по своему вопросу пока не нашёл. Чего делать?
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690544
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кхм... Уважаемый, а давайте теперь весь вопрос целиком. Не по частям. И тогда будем его решать.
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690547
tsoifun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть, скажем две машины - НР1 и НР2. у каждой машины может быть несколько рейсов, но номерация рейсов у каждой может совпадать -1,2 и т.д., но не у конкретной машины номерация не должна совпадать.
Так же могут совпадать, теоретически, временные периоды каждой из этих машин, но у каждой конкретной машины период не должен повторяться или пересекаться, а каждый новый период должен начинаться с окончанием последнего
Т.е. Машина НР1
рейс №1 01/01/2004 15:50 - 05/01/2004 10:00
рейс №2 05/01/2004 10:00 - 10/01/2004 14:00

Машина НР2 так же может иметь:
рейс №1 01/01/2004 15:50 - 05/01/2004 10:00
рейс №2 05/01/2004 10:00 - 10/01/2004 14:00

Но у НР1 или НР2 не должно быть ещё №1 или №3, который будет находиться в периоде, скажем от 03/01/2004 18:00 до 09/01/2004 23:00
Вроде бы всё вместе собрал

Каким образом всё это дело сделать?
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690548
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чапай думает....
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690550
tsoifun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То что написал, это только начало...потому как машины будут возить грузы (возможно и одинаковые)...Видать придётся весть проект описывать...
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690551
tsoifun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можеть аська есть или какой из других месенджеров? Вроде бы там пооперативней получается
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690552
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да... Оперативней... Только я еще работу работаю :)
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690554
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Описывай проект, напиши, как думаешь решать, а я, в случае чего постараюсь поправить.
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690628
skif152
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Исходя из вопроса, у тебя как минимум 2 таблицы - в одной описываешь автомобили (в этой же таблице их ID), и 2-я таблица - с данными об их рейсах. Ну так и организуй главную форму (по первой таблице) и подчинённую ленточную (по 2-й таблице), связь - по ID.
На BeforeInsert подчинённой формы вешаешь нечто:

Sub Form_BeforeInsert(Cancel As Integer)
dim rs as recordset
set rs = me.recordsetclone
'далее: если таблица - подсоединённая, то надо не rs.recordcount, а
'rs.movelast с применением EOF/BOF + error, iserror(), on error goto и т.д.
if rs.recordcount = 0 then 'если машина вообще не совершала в жизни рейсов, т.е. новая
me!<Поле формы, в котором дата начала нового рейса> = now()
me!<Поле формы, в котором номер нового рейса> = 1
else
rs.movelast
dim asd as Date, wer as long
asd = rs!<поле таблицы, в котором дата окончания последнего рейса>
wer = rs!<поле таблицы, в котором номер последнего рейса>
me!<Поле формы, в котором дата начала нового рейса> = asd 'новый рейс начинается с даты 'окончания последнего
me!<Поле формы, в котором номер нового рейса> = wer + 1 ' номер нового рейса = номер 'старого + 1
enf if
rs = клозед
rs = нафиг
End sub

при такой конструкции можно обойтись без сложных ключей (которые по мнгоим полям)
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690631
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Господа! У меня дежа-вю. По-моему, совсем недавно тут был топик с точно такой же задачкой. Там были и селекты, и первичные ключи, и чего только не было. И участвовал в том топике почти весь цвет форума (VIG, Victosha, Лох Позорный, paparome и другие). Но найти его я не могу...
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690633
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Нашел!!!
/topic/113198&pg=-1

С составом участников я немного промахнулся...
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690741
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага, в точности вот это
/topic/113198&pg=-1#872773

только условие на ИД "машины" добавить...
ЗЫ
Саныч фсё помнит... :)
Что-то paparome редко появляться стал...


(с выражением лица)
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690791
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А фотку так и не дала....
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690798
кедзо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторА фотку так и не дала....
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690804
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТемныйА фотку так и не дала....
Видно, не успела...
По причине потери интересу к вопросу посередь дороги прямо...
...
Рейтинг: 0 / 0
Дата/Время (не пересекаются ли сроки с другими периодами)
    #32690813
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Испугалась задействованного количества мозгов
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Дата/Время (не пересекаются ли сроки с другими периодами)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]