2013-08-23 89 views
1

我正在創建一個將用作Crystal報表的數據源的存儲過程。存儲過程參數和水晶報表

存儲的過程有兩個輸入參數 - int和逗號分隔的字符串列表

Create procedure sp_AP_YTD_Payments1 
    @Year as int, 
    @Companies nvarchar(MAX) 

    as 
     -- SP code here 

我也知道我會在WHERE子句中使用它之前的字符串列表轉換爲數組。

我有兩個問題:

  1. 我如何通過使用EXEC sp_AP_YTD_Payments1參數的SP?
  2. 從Crystal Reports中,用戶應該如何輸入第二個參數?作爲逗號分隔的列表?

回答

0

我自己找到答案。

  1. EXEC sp_AP_YTD_Payments1 2013年, '925926,TXR'
  2. 從水晶,用戶將輸入該公司參數逗號dlimited列表。
0

有更好的方法來處理第二個參數。如果您不使用子報表,則可以將報表移動到子報表中,在主報表中創建一個多值參數並使用連接功能將參數值傳遞給子報表。這將允許您的用戶從列表中選擇值並且不關心彗形文字格式。

本文在存儲過程中參數的多值可能會有所幫助: http://www.r-tag.com/Pages/MultivalueParametersWithSQLSP.aspx

+0

感謝您的建議。但是,我無法在Crystal 10.0中執行此操作。我無法獲得用戶可以從 – stackuser

+0

中選擇的顯示值的列表參數列表在XI和更高版本中可用,對於版本10和更低版本您可以考慮使用支持此功能的查看器。查看此視頻:http://www.r-tag.com/Pages/Preview_CascadingParameters.aspx它顯示瞭如何在Crystal 10和波紋管中使用此功能 – Lan