我有一个Crystal报表,其中一个表作为数据源,我希望包含另一个包含报表页脚详细信息的表。
我在报告中有两个未链接的数据源,但是当选择条件没有从主表中返回任何行时,非空非链接源的结果也是空的。
我怀疑它在两个数据源之间进行交叉连接,所以如果一个是空的,那么与另一个数据源连接的也是空的。问题是我需要非空表中的行显示在报表页脚部分中,并且它们会被另一个空数据源抑制。
当选择条件及其参数选择在主表中返回空结果集时,如何从独立表中获取要显示在报表页脚中的行?
感谢您的帮助,
-Beth
另外,我尝试使用命令作为数据源与sql这样:
select * from waitlist
union all
select distinct null as reportID, null as ..., lastupdated
from waitlist
但它仍然为lastupdated返回null并且抑制报表页脚中的子报表。
答案 0 :(得分:0)
我最终将我的报告数据源设置为一个视图,该视图将另一行合并到表中。我还需要更改我的选择标准,以便允许此行通过。
这是我的数据源:
CREATE VIEW [dbo].[vw_rpt_waitlist] AS
select * from waitlist
union all
select distinct
reportID,
null as (fields...),
lastupdated,
'reserved' as countyName
from
waitlist
这是我的记录选择公式:
({vw_rpt_waitlist.countyName} = {?County} or
{vw_rpt_waitlist.countyName} = "reserved") and
{vw_rpt_waitlist.reportID} = 14
如果返回了实际行,我还会取消详细信息部分:
formula = {vw_rpt_waitlist.countyName} = "reserved"
并获取他们在报告页眉中选择的参数化县名,我使用:
dim t as string
dim c as string
if {vw_rpt_waitlist.countyName}="reserved" then
c = {?County}(1)
else
c = {vw_rpt_waitlist.countyName}
end if
t = "Waitlist by " + {@serviceTitle} + " and Waiver Need Index as of "
+ cstr({vw_rpt_waitlist.lastUpdated},"MM/dd/yyyy")
formula = t
由于'保留'县总是通过,子报告没有被压制。