Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.12;
Скачать: CL | DM;

Вниз

Сравнение данных   Найти похожие ветки 

 
Dagir ©   (2008-09-04 13:18) [0]

Добрый день! Очень нужна ваша HELP!!!
В БД имеется таблица
Документы   Версия  Дата печати
Doc1        В1        null
Doc1        В2        15.08.08
Doc1        В3        null

Doc2        В1        null
Doc2        В3        17.08.08

Doc3        В1        null
Doc3        В2        null
Doc3        В3        null
.........................................
Docn        В1        null
Задача такая: для каждого Doc_i проверить, если последняя ненулевая Дата печати соответствует последней Версии документа(в нашем случае это Doc2), то выполнять процедуру1, иначе Процедуру2.
Я делаю так

Вывожу в ListView результат запроса

select Документы, max(Версия) from Table group by Документы
...
Versiya:=FieldByName("max(Версия)").AsString


Затем делаю проверку в цикле так:

for i:=0 to ListView.Items.Count-1 do
begin
...
select Документы,max(Версия),max(Дата печати) where Дата печати is not null and Документы:=ListView.Items[i]
...
if max(Версия)=Versiya then Процедура1 else Процедура 2
end;


Но это вызывает множество проблем, не подскажите другой способ проверить.
White


 
Правильный$Вася   (2008-09-04 13:20) [1]

ничего не понял


 
Johnmen ©   (2008-09-04 13:37) [2]

http://delphimaster.net/view/3-1220248448/


 
Dagir ©   (2008-09-05 08:22) [3]

Берем Doc1. Его последняя дата печати, не равная нулю-15.08.08,соответствует Версии2. Но последняя версия у этого документа-Это Версия3. Они не совпадают, поэтому переходим к процедуре2.
И так далее для каждого Doc_i.


 
Сергей М. ©   (2008-09-05 09:15) [4]

SELECT MAX(Версия) AS Ver, MAX(Дата печати) AS PrintDate
FROM Таблица
GROUP BY Документы
HAVING Документы = Интересующий документ AND NOT Дата печати IS NULL



Страницы: 1 вся ветка

Текущий архив: 2008.10.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
13-1120682255
VMcL
2005-07-07 00:37
2008.10.12
Замечания/пожелания


2-1220872320
@!!ex
2008-09-08 15:12
2008.10.12
Код раняет винду в BSOD


1-1200405748
istok
2008-01-15 17:02
2008.10.12
передача событий из потока...


15-1219228723
Квэнди
2008-08-20 14:38
2008.10.12
ModelMaker отображение полей класса


15-1219142824
Vlad Oshin
2008-08-19 14:47
2008.10.12
откомпилируйте, пожалуйста, чему у вас получилось = i?