Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: dmsrv803
Есть запрос Query1:

SELECT Dogovor.Dogovor_Id, Status_Id, DateStatusChanged FROM Dogovor INNER JOIN Status ON Dogovor.Dogovor_Id = Status.Dogovor_Id ORDER BY DateStatusChanged;

Данный запрос возвращает набор данных, который содержит информацию о статусе договоров. Причем, если договор имееет несколько статусов, то последним в наборе оказывается статус, имееющий наибольшее значение в поле DateStatusChanged.

Дальше мне необходимо с помощью другого запроса получить последний (действующий) статус договора. Т.е. найти статус договора с наибольшим значением поля DateStatusChanged.

SELECT Dogovor_Id, Last(Status_ID) As LastStatus_Id, Last(DataStatusChanged) As LastData FROM Query1 GROUP BY Dogovor_Id;

Но к моему огорчению запрос отрабатывает не корректно. До тех пор, пока наибольшему значению поля Status_Id соответствует поле DataStatusChanged с наибольшем значением - все в порядке, но как только например изменить дату статуса таким образом, что она станет меньше даты предыдущего статуса, то запрос возвращает дату одного статуса и Id другого.
Подскажите, как мне составит ь запрос, чтобы он отрабатывал корректно?


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.