聽說MS SQL 2005自帶報表功能,於是我測試了一下,還算比較好用,所以我就錄了一個用存儲過程來寫報表的例子。由於測試過程當中沒有語音,所以我在這裡講解一下。
使用的存儲過程如下(錄象中到最後我更改了一下存儲過程):
使用的數據庫是MS SQL 2000的Northwind數據庫,表是orders。
if exists(select * from sysobjects where name='procTest' and xtype='P')
drop proc procTest
go
create proc procTest
@CustomerId varchar(20)
as
if @CustomerId='*'
select * from Orders
else
select * from Orders where CustomerID=@CustomerId
可以用exec procTest 'VINET' 或者exec procTest '*'來測試
之後建立數據庫報表項目
1、建立數據源
2、建立新的報表
3、建立數據集,這裡我采用了特殊的方式,因為報表設計界面需要列出字段,所以我將存儲過程中需要輸出的字段select語句先在數據集運行一下,那麼就得出了紀錄集的所有字段,而不用自己一個個添加。
4、建立報表的參數CustomerID,設置默認值為*,和存儲過程當中判斷語句一致。
5。、更改數據中的語句:="exec procTest '" & Parameters!CustomerID.Value & "'"
6、基本上完成。
在演示中不知道如何按F5出現報表無法現實,但是在預覽中是正常的,大概原理能明白就可以了。關於報表匿名浏覽的問題網上有介紹,這裡就不多說了。