Вниз
Скачать: CL | DM;

заполнение ListView, используя функцию max   Найти похожие ветки 

← →
Finjy   (2008-08-28 15:14) [0]

ListView  заполняю следующим образом
Статус        Деталь      Версия  
Создан        Корпус   Версия1
Изменен       Корпус   Версия2
Изменен       Корпус   Версия3  
Создан        Плита    Версия1  
Столцы Статус, Имя выбираются из запроса

Столбец Статус имеет значение "Создан",если в столбце Версия значение Версия1, в противном случае "Изменен".

Вот код

var
n:String;
begin
          SQL.Clear;
          SQL.Add("select prj_name,prj_ver, from prjver_previews

                  left join prjversion on prjver_previews.prjver_id = prjversion.prjver_id

                  group by prj_name" );

                  n:=FieldByName("prj_ver");
                 
                  Open;
                  while not Eof do
                  begin
                       with ListView1.Items.Add do
                       begin
                                 if n: ="Версия1" then Caption :="Создан" else

                                         Caption :="Изменен";

                                 

                                  with SubItems do
                                  begin
                                       Add(FieldByName("prj_name").AsString);
                                       Add(FieldByName("prj_ver").AsString);

                                  end;
                            end;

                       Next;
                       end;
                  Close;
          end;

Задача заключается в следующем: в таблице должна отображаться только последняя версия для каждой детали.С этим то проблем
нет,в запросе пишу вместо prj_ver max(prj_ver),вместо Add(FieldByName("prj_ver").AsString) Add(FieldByName("max").AsString);
Но колонка Статус уже не формируется получается ошибка. Как сформировать этот столбец?


← →
Ega23 ©   (2008-08-28 15:20) [1]

Начни с того, что все with поубирай и посмотри, что получается.


← →
Сергей М. ©   (2008-08-28 16:37) [2]


> колонка Статус уже не формируется получается ошибка


Возьми отладчик в зубы да пройдись по своему творению пошагово.
В чем проблема-то ?


← →
Sergey13 ©   (2008-08-28 16:40) [3]

> [0] Finjy   (28.08.08 15:14)
> Столбец Статус имеет значение "Создан",если в столбце Версия
> значение Версия1, в противном случае "Изменен".

Ну и какой тогда в нем смысл?


← →
Finjy   (2008-08-28 16:44) [4]

Строка n:=FieldByName("prj_ver"); уже заведомо не правильная, отладчик тут не поможет. Как раз и нужно изменитьэту стоку и условие
                                                                 
if n: ="Версия1" then Caption :="Создан" else

                                        Caption :="Изменен";


Вот я и не знаю как это сделать


← →
Finjy   (2008-08-28 16:46) [5]

Должна получаться следующая таблица

Статус        Деталь    Версия  
Изменен      Корпус   Версия3  
Создан        Плита    Версия1  


← →
Виталий Панасенко ©   (2008-08-28 16:50) [6]


> Finjy   (28.08.08 16:44) [4]


> Finjy   (28.08.08 16:46) [5]

Кто-нибудь что-нибудь понял?


← →
Sergey13 ©   (2008-08-28 16:51) [7]

> group by prj_name"

зачем это в запросе, если нет агрегатов?


← →
Виталий Панасенко ©   (2008-08-28 16:52) [8]

тебе нужно по последней версии написать создан или изменен?


← →
Ega23 ©   (2008-08-28 17:09) [9]


> Кто-нибудь что-нибудь понял?


не-а. Но with - слишком дофига.


← →
Finjy   (2008-08-29 08:38) [10]

Нужно по последней версии написать Создан или Изменен, именно этого я и хочу.


← →
Виталий Панасенко(дом)   (2008-08-29 09:27) [11]

for
select iif(max(vers_no)=1,"Создан","Изменен") from table_name into :var do suspend;


← →
Виталий Панасенко(дом)   (2008-08-29 09:30) [12]

сорри, ИБ6, там нету IIF...
for
select max(vers_no) from table_name into :var do
begin
if var=1 then
  var_str = "Создан";
else
  var_str = "Изменен"
suspend;
end;
var_str - выходной параметр



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.009 c
15-1235299343
Den_
2009-02-22 13:42
2009.04.26
Что бы придумать для своей программы (не совсем шароварное)?


3-1220254108
keymaster
2008-09-01 11:28
2009.04.26
Работа с ораклом через ADOStoredProc


15-1235256218
alex-drob
2009-02-22 01:43
2009.04.26
Проэктирование сервера для обмена пакетами двух пользователей


15-1235680515
Petr V. Abramov
2009-02-26 23:35
2009.04.26
" я не не алкашь и не пьяница я" :)


2-1236670123
vat
2009-03-10 10:28
2009.04.26
как заставить OpenDialog выделять папку




   Наверх