參數型的報表是滿常應用在與程式結合的部份,而有那幾種類型的參數應用方式呢?主要除了單一參數的使用外,還有其它像是多個值的參數使用、連動型參數的使用及日期參數的使用,將會在這一篇文章中所要介紹到的
在資料集的上方按下滑鼠右鍵,點選加入資料集,來作為參數的資料來源
如果與原來報表的資料庫是同一個,那麼不用再指定資料來源,但必需勾選『使用內嵌在我的報表的資料集』選項
新產生的資料集將會列在下方
點選指定參數,按下滑鼠右鍵,選擇參數屬性
如果『勾選允與多個值』,代表它可以一次選擇多筆,並且注意到,在『提示』的位置,主要是顯示在表單上的名稱,通常是一般報表使用者所看到的名稱,『名稱』位置主要是指定參數的名稱,作為與語法溝通的where條件欄位
在『可用的值』的頁籤下,選擇剛才設定的資料集,分別設定『值欄位』與『標籤欄位』,『值欄位』是傳遞給語法實際的資料,『標籤欄位』是報表使用者看到的內容
因為我們有勾選『勾選允與多個值』,也因此最旁邊會多個核取方塊checkbox來讓我們一次選擇多個值,也因次一次是選多個值,在SQL語法的條件中,要改成下列的寫法:select field1 from tablename where field1 in (@type),不可以使用下列語法:select field1 from tablename where field1=@type,在多選時候的參數,執行起來會有問題
還有一種是連動型參數的應用,主要是一次使用兩個參數:A與B,當A參數確認後,B參數的顯示內容會隨著A參數來改變,參考下列的例子,廠牌型號的內容會隨著報修項目來改變
執行後,廠牌的顯示內容是無法點選的,必須要等確認item參數後才可以選擇
像下圖是選擇item內容後,brand隨之改變所對應的選項,而這種連動型參數在早期Script,asp的時候,可能就要寫很多CODE才可以達成,而基本上現在是可以用少少的語法就可以來實現
而最後要介紹的是日期參數的應用,當我們將參數的欄位型態選擇『日期/時間』(這裡有個前提,從資料庫所使用的對應欄位型態要是datetime.date,smalldatetime日期格式)
報表就會使用日期的型態來讓使用者來選擇
透過這幾種參數的應用,來讓報表內容更加彈性與豐富,也讓原本可能複雜的報表程式,可以更快的來完成。當然在使用這些參數型的報表,要注意到的就是欄位型態及NULL與空值的判斷,如此可以減少報表或程式的執行錯誤,而這個有些可以在欄位設定裡頭直接做控制,也可以在程式PG端來使用語法控制,取其較佳效能的呈現方式,來達到使用者的報表需要
請問勾選多個值那段
我使用你的方法
他還是不能顯示多個值
請問有其他方法嗎??
可自行試試 他原理應該是相通的,因為已經有段時間沒使用reporting service了