我已經想通了,這是一個有點像上面的答案。
在你的數據庫中,你可以有;
SELECT Field1,Field2 FROM YourTable
a |紅色
b |綠色
c |橙色
3行將在報告服務中製作1張表格。所以你需要做的是創建一個像這樣的存儲過程。
DECLARE @C INT -- THIS IS COUNTER
DECLARE @Repeat INT -- THIS IS HOW MANY REPEATS
DECLARE @tblTemp TABLE (GRP INT,Field1 VARCHAR(1),Field2 VARCHAR(10))
SET @C = 0 -- SET COUNTER 0
SET @Repeat = 3 -- I WANT TO REPEAT 3 TIMES AND HAVE 3 TABLES IN REPORT SERVICES.
WHILE @C < @Repeat BEGIN
SET @C += 1
INSERT INTO @tblTemp (GRP,Field1,Field2)
SELECT @C,Field1,Field2 FROM YourTable
END
SELECT * FROM @tblTemp
現在你應該得到的答案是;
1 | a |紅色
1 | b |綠色
1 | c | Orange
2 | a |紅色
2 | b |綠色
2 | c |橙色
3 | a |紅色
3 | b |綠色
3 | c |橙色
您現在要做的就是在報告服務中選擇存儲過程作爲數據源,然後使用該數據源創建您的表,在所選表的分組部分中添加父項按列名'GRP'。然後在該父項屬性中添加該父項的每個實例的分頁符。在每個頁面上有3個表格。您需要更多的只需更改存儲過程中的重複次數,您甚至可以使用參數發送重複次數。
我使用這種方法,它完美地工作。