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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Построител
 
 автор: ilich   (23.11.2009 в 08:15)   личное сообщение
 
 

Подскажите как можно подсчетать кол-во дней
есть таблица, вот примет
дата_с дата_по
с 02.11.2009 по 05.11.2009
с 05.11.2009 по 08.11.2009
я написал запрос в котором просто идет вычетание дата_по - дата_с = 5-2=3, но + 1, т.к. должно быть 4ре дня и так для каждой строки,
второй запрос же делает сумму по строкам, во второй строке получается 8-5=3, так же +1, а потом суммируем строки и получается 8, а в действительности 7!!

  Ответить  
 
 автор: osmor   (23.11.2009 в 08:37)   личное сообщение
 
 

Нужно для начала решить задачу без компьютера. И понять что бы хочется найти....
так сказать "физический смысл" того что ищем.
Определиться какие данные будут в этой таблице, можно ли периоды полученные в строках "тупо" складывать?
например если могут быть пересечения диапазонов ,

с 02.11.2009 по 05.11.2009
с 03.11.2009 по 08.11.2009

то вообще без VBA не обойтись.

Если могут быть дырки, то результат вроде будет правильным, но не факт что будет отображать то что ищем, например

с 02.11.2009 по 04.11.2009
с 07.11.2009 по 08.11.2009

4-2+1 = 3
8-7+1 = 2
4+2= 5
т.е. кол-во дней правильное,
но
02.11.2009 + 5 = 07.11.2009

Т.е. нужно понимать ЧТО именно нужно найти

  Ответить  
 
 автор: ilich   (23.11.2009 в 08:52)   личное сообщение
 
 

Извиняюсь, что не уточнил. следующая строка всегда начинается с числа на которое заканчивается предыдущая, т.е. дата_по = дата_с, на следующей строке...
нашел выход один))) сначала в первом запросе только делать вычетание,
а во врором, уже по мимо Sum, просто прибавлять 1 )))
дата_с дата_по
с 02.11.2009 по 05.11.2009 =3
с 05.11.2009 по 08.11.2009 =3
с 08.11.2009 по 10.11.2009 =2
с 10.11.2009. по 13.11.2009 =3
общее =12 если уже +1
и должно быть 2,3,4,5,6,7,8,9,10,11,12,13 т.е. = 12
хм вроде получается))

  Ответить  
 
 автор: osmor   (23.11.2009 в 09:04)   личное сообщение
 
 

если вы уверены что пересечений и дырок не будет, то это вполне решение.

  Ответить  
 
 автор: ilich   (23.11.2009 в 09:07)   личное сообщение
 
 

Ага, уверен! Спасибо большое за помощь!

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