Форум: "Базы";
Текущий архив: 2009.04.26;
Скачать: [xml.tar.bz2];
Вниззаполнение 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 вся ветка
Форум: "Базы";
Текущий архив: 2009.04.26;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.006 c