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

Форум: MS ACCESS

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

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

 
 

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

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

тема: проблема с запросом
 
 автор: dmsrv803   (23.08.2010 в 16:59)   личное сообщение
 
 

Есть [Дата Платежа], [Сумма Платежа].
Необходимо в запросе подсчитать количество дней прошедших с предыдущего платежа по каждому платежу.
Ну типа:
SELECT [Дата Платежа], [Сумма Платежа], [Дата Платежа] - [?????] As КоличествоДней FROM Платежи;

  Ответить  
 
 автор: snipe   (24.08.2010 в 07:26)   личное сообщение
 
 

SELECT Платежи.[Дата платежа], Платежи.[Сумма платежа], [Дата платежа]-DLast("[дата платежа]","[Платежи]","[Платежи].[Код]<" & [Код]) AS [Количество дней]
FROM Платежи;


код - это ключевое поле типа счетчик

  Ответить  
 
 автор: dmsrv803   (26.08.2010 в 09:28)   личное сообщение
 
 

Спасибо. Идея вполне рабочая.

  Ответить  
 
 автор: Силblч   (26.08.2010 в 15:29)   личное сообщение
 
 

а если в один день платежей несколько, а код больше(дальше)?
вполне реальная ситуация :) когда сформировали документ задним числом

  Ответить  
 
 автор: Силblч   (26.08.2010 в 10:22)   личное сообщение
 
 


SELECT Платежи.[Дата платежа]
               , Платежи.[Сумма платежа]
               , nz(min(Платежи_1.[Дата платежа]),Date()) AS ДатаПлатежаЖа
               , nz(min(Платежи_1.[Дата платежа]),Date())-Платежи.[Дата платежа] AS КоличествоДней
FROM Платежи 
RIGHT JOIN Платежи AS Платежи_1 ON Платежи.[Дата платежа]<Платежи_1.[Дата платежа]
WHERE not Платежи.[Дата платежа] is null
GROUP BY Платежи.[Дата платежа], Платежи.[Сумма платежа];

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