Главная страница
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.014 c
6-23706
Ghost.
2002-04-29 13:32
2002.07.08
Сетевая безопасность


3-23512
oss
2002-06-18 00:28
2002.07.08
ADO sql


3-23515
Dark Programmer
2002-06-14 09:35
2002.07.08
To fnatali , Lord Warlock


1-23637
Man-In-Red
2002-06-25 18:26
2002.07.08
Как программно в Listbox1 добавить...


6-23704
LiNkS
2002-04-24 14:48
2002.07.08
Определить номер клиента.