Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: даты
 
 автор: час   (16.12.2008 в 14:43)   личное сообщение
 
 

Сколько писано переписано них....
не выходит
Сижу и парюся башка не варит.............
В таблице дата начала периода
и дата конуа периода
на форме заносим две даты
тожа так же
Какого то начало и какого то конца.....блин
Теперь из таблицы надо выбрать такие записи, периоды действия которых пересекаются м периодом на форме и наоборот.

  Ответить  
 
 автор: FORMAT   (16.12.2008 в 14:45)   личное сообщение
 
 

Дык это, я ж вроде в классе это реализовал, или нет? Склероз сааавсем замучал.

  Ответить  
 
 автор: час   (16.12.2008 в 14:49)   личное сообщение
 
 

может и реализовал...............
тока я на практике ето никак не могу реализовать.

http://hiprog.com/forum/read.php?id_forum=1&id_theme=3861&page=1

  Ответить  
 
 автор: Lukas   (16.12.2008 в 14:50)   личное сообщение
 
 

В запросе добавляем условие:

WHERE (((funOrderValidete([ItemStart],[ItemEnd]))=True))

В глобальном модуле:

Public glbDatStartQ As Date
Public glbDatEndQ As Date

Public Function funOrderValidete(datStart As Date, datEnd As Date) As Boolean
        funOrderValidete = Not ((glbDatStartQ < datStart And glbDatEndQ < datStart) Or (glbDatStartQ > datEnd And glbDatEndQ > datEnd))
End Function

Предварительно заполняем значения глобальных переменных (что бы не делать это на каждую запись)

  Ответить  
 
 автор: час   (16.12.2008 в 14:53)   личное сообщение
 
 

Пробываю......

А эти переменные(glbDatStartQ) - значения с формы.... - да?

  Ответить  
 
 автор: Lukas   (16.12.2008 в 14:55)   личное сообщение
 
 

Пример:
тынц

  Ответить  
 
 автор: Lukas   (16.12.2008 в 15:00)   личное сообщение
 
 

А эти переменные(glbDatStartQ) - значения с формы....

  Ответить  
 
 автор: час   (16.12.2008 в 15:08)   личное сообщение
 
 

Спасибо Lukas
вроде всё попёрло .......
.........

  Ответить  
 
 автор: Alex   (16.12.2008 в 17:20)   личное сообщение
 
 

Если я правильно понял задачу, то в свое время делал так вот:

Проверка попадания диапазона дат в диапазон дат

"Большой" период НРас - КРас
"Малый" период НМес - КМес

Условие отбора в запросе:
НРас<=[Forms]![Рассылка]![НМес] Or <=[Forms]![Рассылка]![КМес]
КРас>=[Forms]![Рассылка]![НМес]

  Ответить  
 
 автор: час   (16.12.2008 в 20:18)   личное сообщение
 
 

простите, а это вот что НРас - КРас
начальная дата и конечная - да?

И ещё скажите про периоды = это как то надо предварительно определить?
Кто больше или?

  Ответить  
 
 автор: Alex   (17.12.2008 в 11:05)   личное сообщение
 
 

Это я ваял базу для отдела подписки на периодические издания.
Подписчик мог подписаться на журнал скажем на полгода или на год, или даже на два - я определял период подписки как НРас (начало рассылки dd.mm.yyyy) и КРас (конец рассылки dd.mm.yyyy)
Журнал должен рассылаться ежемесячно - месяц рассылки я определял как НМес (начало месяца dd.mm.yyyy) и КМес (конец месяца dd.mm.yyyy). Запрос должен вернуть записи, в период НРас-КРас, которых попадает период НМес-КМес.В качестве условий отбора в этом запросе я делал это :
НРас<=[Forms]![Рассылка]![НМес] Or <=[Forms]![Рассылка]![КМес]
КРас>=[Forms]![Рассылка]![НМес]

  Ответить  
 
 автор: час   (17.12.2008 в 14:26)   личное сообщение
 
 

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList