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

Вниз

не лады с репортом :-(   Найти похожие ветки 

 
Oleg_er   (2002-06-14 07:01) [0]

приветствую! проблемка приключилась... т.к. на local SQL нельзя написать типа select name, fld1, fld2 from (select name, fld as fld1, 0 as fld2 from tbl where prizn=1 union all select name, 0 as fld1, fld as fld2 from tbl where prizn=2) - решил эту пролему решить в QuickReport

выставил на страницу 3 TQuery
1: select distinct name from tbl
2: select name, fld from tbl where prizn=1
3: select name, fld from tbl where prizn=2

в первый столбец - qr1.name
2ой if (qr2.name=qr1.name, qr2.fld,0)
3ий if (qr3.name=qr1.name, 0, qr3.fld)

в результате первя строчка - все номано, а остальные - только первый столбец заполняется - остальные по нулям :-( что делать???


 
Oleg_er   (2002-06-14 08:57) [1]

а вообще такое возможно?
ну оччень надо!


 
Lord Warlock ©   (2002-06-14 09:14) [2]

В QuickReport работа со столбцами очень поганая, это не столбцы, а продолжение той же страницы на этих "столбцах", так что проблему не решишь. Что касается твоего суперзапроса, сделай их 2 штуки для каждой суммы, это легко, а потом сливай в самодельную временную таблицу, в которой нужные тебе 3 поля (ее лучше спроектировать в DBD, а не создавать динамически), и с ней делай что хочешь.

Подход конечно не ахти, но сработает


 
fnatali ©   (2002-06-14 09:14) [3]

А почему нельзя воспользоваться просто такой конструкцией?
select name, fld as fld1, 0 as fld2 from tbl where prizn=1
union all
select name, 0 as fld1, fld as fld2 from tbl where prizn=2


 
Lord Warlock ©   (2002-06-14 09:25) [4]


> fnatali © (14.06.02 09:14)


Это у него не подходит по условиям задачи, см
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1023967564&n=1


 
fnatali ©   (2002-06-14 09:56) [5]

Так там пример с суммированием - а здесь - без. И в результате
select name, fld1, fld2 from (select name, fld as fld1, 0 as fld2 from tbl where prizn=1 union all select name, 0 as fld1, fld as fld2 from tbl where prizn=2) и
select name, fld as fld1, 0 as fld2 from tbl where prizn=1
union all
select name, 0 as fld1, fld as fld2 from tbl where prizn=2
одно и тоже.
Oleg_er (14.06.02 08:57) - вы бы почётче условия задачи формулировали, а то с телепатией туговато.


 
Lord Warlock ©   (2002-06-14 10:00) [6]


> fnatali © (14.06.02 09:56)


по-моему четче некуда...


 
Dick ©   (2002-06-16 10:06) [7]

Можно воспользоваться вычисляемыми полями. Через Fields Editor добавляем новое поле, ставим ему тип Calculated и в обработчике собития (что-то вроде onCalcfields) y TQuery заполняешь нужные поля.


 
Виталий Панасенко   (2002-06-17 08:55) [8]

А можно создать композитный отчет (из двух, трех и т.д. репортов)



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
3-23521
?
2002-06-17 15:20
2002.07.08
формат Excel


7-23805
JohnKorsh
2002-04-10 08:10
2002.07.08
Работа с последовательными портами.


14-23760
Дмитрий_Б
2002-06-06 08:32
2002.07.08
Сказки вслух


1-23653
StarCon
2002-06-26 07:17
2002.07.08
xml


3-23489
Oleon
2002-06-17 10:39
2002.07.08
Interbase 5.0.