2011-03-10 19 views
0

我有一個以表格作爲數據源的Crystal報表,並且我想包含另一個包含報表頁腳細節的表格。具有多個數據源的水晶報表,其中一個爲空

我在報表中有兩個數據源沒有鏈接,但是當選擇條件不從主表返回行時,非空鏈接源的結果也是空的。

我懷疑它是在兩個數據源之間進行交叉連接,所以如果其中一個是空的,那麼與另一個連接的數據源也是空的。問題是我需要非空表中的行顯示在報表頁腳部分,並且它們被另一個空的數據源所抑制。

當選擇標準及其參數選項返回主表中的空結果集時,如何從獨立表中獲取行以顯示在報表頁腳中?

感謝您的幫助,

-Beth

而且,我試圖用一個命令與SQL數據源這樣的:

select * from waitlist 
union all 
select distinct null as reportID, null as ..., lastupdated 
from waitlist 

,但它仍然是LASTUPDATED它壓迫返回null報表頁腳中的子報表。

+0

您是否清除了數據庫專家中的所有鏈接? – codingbadger 2011-03-11 08:30:57

+0

是的。我想出了我需要做的事情。我會用那種方法回答這個問題。 – Beth 2011-03-11 16:12:27

回答

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 

由於「保留」縣總是通過,子報告沒有抑制。