|
|
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Извиняйтк новичка, но помогите решить проблемку: Есть таблица куда заносятся даты/время начала и конца определённого периода. Есть форма с помощью, которой заносятся даты/время, но как сделать так чтобы можно было проверить есть ли уже такая дата/время в таблице и не пересекаются ли сроки с другими периодами. Скажем так есть два периода №1 и № 2 Время №1 01/01/04 00:00 - 05/01/04 00:00 Если вводить время №2 с 04/01/04 05:00, то это будет пересекаться с периодом №1. Лучше бы сделать так, чтобы каждый следующий период начинался ровно с моменьа окончания предэдущего, тогда видимо не надо будет проверять всё это...Но тоже не знаю как это сделать. Помогите...Кто может помогите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 23:57:39 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
а сколько у вас там времени? часов 7 вечера? если нужно сделать так, чтоб следующий период начинался в момент окончания предыдущего - так запрсом вытаскивай максимальную дату из поля, в котором хранится окончание периода - и подставляй в начало нового периода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 01:01:34 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Ка уже написал - я новичок. Чуть поподробней каким образом запросом можно это дело втащить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 01:13:00 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
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 немного другой синтаксис :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 01:23:18 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Я попробовал через DLOOKUP, но дало ошибку run-time error '3464' Или DLOOKUP не работает со датой/временем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 01:26:27 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Спасибо - обязательно попробую. Если можно, то ещё вопрос: Есть номер машины и у неёё есть своё номер рейса - допустим машина А, рейс №1 Может быть ещё одна машина Б и у неё тоже может быть рейс №1. Как сделать так чтобы номера рейсов не повторялись - я понима, но как сделать чтобы проверялось есть ли уже такой рейс у конкретной машины или нет? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 01:34:58 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
нужно организовать соместный ключ на эти два поля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 01:36:05 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Если бы я знал как сделать совместный ключ, то сказал бы СПАСИБО, а так вынужден задать вопрос про совместный ключ. В книге по ACCESS что-то не находится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 01:43:47 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Выделяешь в конструкторе несколько поелй, удерживая шифт. И жмакаешь на кнопку "ключ". В итоге слева появятся ключи у этих полей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 01:50:44 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Мне кажется, что в моём случае просто запросом перитаскивания максимальной даты не совсем правильно. В этом запросе не будет сравнения по какой машине идёт выборка поэтому может вытащить период, который принадлежит другой машине. Получается, что при вводе нового номера рейса и даты/времени необходимо сравнивать есть ли такой же № и эта дата/время у этой машины или нет и можно записать новое. как сделать - не знаю. Приморов по своему вопросу пока не нашёл. Чего делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 01:53:29 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Кхм... Уважаемый, а давайте теперь весь вопрос целиком. Не по частям. И тогда будем его решать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 01:55:34 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Есть, скажем две машины - НР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 Вроде бы всё вместе собрал Каким образом всё это дело сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 02:04:45 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Чапай думает.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 02:08:38 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
То что написал, это только начало...потому как машины будут возить грузы (возможно и одинаковые)...Видать придётся весть проект описывать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 02:10:38 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Можеть аська есть или какой из других месенджеров? Вроде бы там пооперативней получается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 02:12:57 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Ну да... Оперативней... Только я еще работу работаю :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 02:21:04 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Описывай проект, напиши, как думаешь решать, а я, в случае чего постараюсь поправить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 02:32:12 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Исходя из вопроса, у тебя как минимум 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 при такой конструкции можно обойтись без сложных ключей (которые по мнгоим полям) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 12:54:05 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Господа! У меня дежа-вю. По-моему, совсем недавно тут был топик с точно такой же задачкой. Там были и селекты, и первичные ключи, и чего только не было. И участвовал в том топике почти весь цвет форума (VIG, Victosha, Лох Позорный, paparome и другие). Но найти его я не могу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 13:13:30 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Нашел!!! /topic/113198&pg=-1 С составом участников я немного промахнулся... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 13:35:35 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
ага, в точности вот это /topic/113198&pg=-1#872773 только условие на ИД "машины" добавить... ЗЫ Саныч фсё помнит... :) Что-то paparome редко появляться стал... (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 19:06:41 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
А фотку так и не дала.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 00:47:51 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
авторА фотку так и не дала.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 01:39:15 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
ТемныйА фотку так и не дала.... Видно, не успела... По причине потери интересу к вопросу посередь дороги прямо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 02:42:33 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Испугалась задействованного количества мозгов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 06:55:05 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Большое спасибо всем. Санычу персонально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 23:05:08 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Владимир СанычГоспода! У меня дежа-вю. По-моему, совсем недавно тут был топик с точно такой же задачкой. Там были и селекты, и первичные ключи, и чего только не было. И участвовал в том топике почти весь цвет форума (VIG, Victosha, Лох Позорный, paparome и другие). Но найти его я не могу... Прошу прощения, но я в таких топиках не участвую И даже их не читаю. Однако. Я предпочитаю бренчащий дребезжащий стратокастер слушать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 23:15:35 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Лох Позорный Владимир СанычГоспода! У меня дежа-вю. По-моему, совсем недавно тут был топик с точно такой же задачкой. Там были и селекты, и первичные ключи, и чего только не было. И участвовал в том топике почти весь цвет форума (VIG, Victosha, Лох Позорный, paparome и другие). Но найти его я не могу... Прошу прощения, но я в таких топиках не участвую И даже их не читаю. Однако. Я предпочитаю бренчащий дребезжащий стратокастер слушать. стратокастер - даже и представить себе не могу - что такое это могло бы быть... Вот лучше расскажи - по каким таким признакам догадываешься, что и читать даже не надо? :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 23:28:41 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Вот лучше расскажи - по каким таким признакам догадываешься, что и читать даже не надо? хз привычка, выработанная годами если я в топик не заглядываю - значит читать его мне не надо вот так вот и получается что, все что не делается - не делается к лучшему :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 23:43:44 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
ТемныйОписывай проект, напиши, как думаешь решать, а я, в случае чего постараюсь поправить. Полагаю, что все когда-то начинали и за спрос не бьют... Весь проект в следующем: есть несколько машин (и есть пароходы), которые возят грузы для разных получателей в разные места от разных продавцов. каждый рейс имеет продолжительность и за него соответственно платят. Так же у машин расходуется топливо каждый день ( с пароходами сложней - там два типа топлива используется+ масла нескольких типов), а в конце рейса по формуле : НАЧАЛЬНОЕ КОЛ-ВО ТОПЛИВА + КОЛ-ВО ЗАПРАВЛЕННОГО - МИНУС КОЛИЧЕСТВО = ТОПЛИВО ЗАТРАЧЕННОЕ. У каждой машины есть два водителя каждый раз и есть водители, которых нанимают на работу - есть товарищи, которые попадают в чёрный список за пиянство, например. Всем платится зарплата, премиальные. Хочется всё это дело автоматизировать по максимуму, если возможно, с получением определённых отчётов. Надоело вести таблички в ёкселе. Я представляю, что я хочу получать и знаю какие данные есть- осталось объеденить и заставить работать. Насколько понимаю должно быть несколько таблиц: - данные машин (пароходов), с указанием компаний, кому принадлежит каждая машина/пароход. Одна компания может иметь 2 машины/судна - названия мест откуда/куда возится, промежуточные пунткы, места заправок - по типам мест т.е. заправки, отдых, погрузка/выгрузка - по фирмам получатель/отправитель, хотя можно поставить только одного, обозвав ПЛАТЕЛЬЩИК, с указанием данных оного и ведением учёта оплат (хочется, конечно ещё и счёта ему выписывать) - ФИО водителев (у судов капитанов и всего состава) - по грузам - по рейсам - начало/окончание рейса, чего вёз, откуда/куда, кто плательщик, кол-ва топлива на начало и конче рейса, когда заправлялся и где, когда оплатили и сколько, кто плательщик, штрафы за простой или компенсация за быструю выгрузку и оплачено ли это (или разделить необходимо - штрафы и компенсацию по типам в отдельную таблицу?) Здесь, как уже писал - у разных машин (судов) может совпадать название рейса и совпадать время. но у одной и той же машины название рейсов совпадать не может, а время не должно пересекаться (в иделе - время окончания предыдущего рейса, должно являться началом окончания второго срока) - по пароходам хотелось бы ещё табличку иметь, которая бы учитывала каждодневную информацию т.е. точка, где судно на данный день, сколько миль прошло за день, сколько ходовых часов,расходы топлива/масел/воды В принципе можно ещё дальше всё это дело обвешивать, но хотелось бы решить хотя бы минимум т.е. - данные машин (пароходов) - названия мест - по типам мест т.е. заправки, отдых, погрузка/выгрузка - по фирмам получатель/отправитель ПЛАТЕЛЬЩИКАМс выписыванием счёта - ФИО водителев (у судов капитанов и всего состава) - по грузам - по рейсам - начало/окончание рейса, чего вёз, откуда/куда и т.д., как написано выше. Есть профессиональный софт для таких дел, но всё что видел - не устраивает по многим причинам. Если есть предложения как сделать минимум, то СПАСИБО ОГРОМНОЕ. А буде кто из помощников у нас на Кипре в Лимисяевке, то и пива налить можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 23:53:18 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
У вас там пиво невкусное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2004, 06:01:30 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Смотря где...Места везде знать надо. Кроме невкусного пива есть какие-то ещё предложения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 13:32:16 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
Господа, так что не будет советов как сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 19:49:35 |
|
||
|
Дата/Время (не пересекаются ли сроки с другими периодами)
|
|||
|---|---|---|---|
|
#18+
http://www.sql.ru/forum/actualthread.aspx?tid=116495 http://www.sql.ru/forum/actualthread.aspx?tid=122600 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2004, 08:56:41 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1671734]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 309ms |

| 0 / 0 |
