![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
не лады с репортом :-( [D5, dBase, FoxPro]
Oleg_er © (2002-06-14 07:01:00)приветствую! проблемка приключилась... т.к. на 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)
в результате первя строчка - все номано, а остальные - только первый столбец заполняется - остальные по нулям :-( что делать???
Виталий Панасенко (2002-06-17 08:55:00) [1]А можно создать композитный отчет (из двух, трех и т.д. репортов)
Dick (2002-06-16 10:06:00) [2]Можно воспользоваться вычисляемыми полями. Через Fields Editor добавляем новое поле, ставим ему тип Calculated и в обработчике собития (что-то вроде onCalcfields) y TQuery заполняешь нужные поля.
Lord Warlock (2002-06-14 10:00:00) [3]
> fnatali © (14.06.02 09:56)
по-моему четче некуда...
fnatali (2002-06-14 09:56:00) [4]Так там пример с суммированием - а здесь - без. И в результате
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 09:25:00) [5]
> fnatali © (14.06.02 09:14)
Это у него не подходит по условиям задачи, см
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1023967564&n=1
Lord Warlock (2002-06-14 09:14:00) [6]В QuickReport работа со столбцами очень поганая, это не столбцы, а продолжение той же страницы на этих "столбцах", так что проблему не решишь. Что касается твоего суперзапроса, сделай их 2 штуки для каждой суммы, это легко, а потом сливай в самодельную временную таблицу, в которой нужные тебе 3 поля (ее лучше спроектировать в DBD, а не создавать динамически), и с ней делай что хочешь.
Подход конечно не ахти, но сработает
fnatali (2002-06-14 09:14:00) [7]А почему нельзя воспользоваться просто такой конструкцией?
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 (2002-06-14 08:57:00) [8]а вообще такое возможно?
ну оччень надо!