我有许多SSRS报告打印到专用Zebra Label打印机,其中打印机是用户的默认打印机。每个报告都传递一个参数:Number_Of_Copies。在调用此函数的应用程序中,Number_Of_Copies的值可以是1到任意数量的副本。不知何故,我需要制作一份报告,其中包含多个副本(带有分页符)和一个字段,指示该标签的序列号是:“Number_Of_copies的x”。这显然说起来容易做起来难。 SSRS报告本身(通过命令行调用)是否有办法执行此操作?需要SSRS中的代码来创建报告的多个序列化副本(标签)
-1
A
回答
0
这里是你如何能做到这一点...
哦,这是很罗嗦,但它实际上是很简单..
我们首先需要的是你的标签报告,我想你已经为了这个答案,我会把它叫做LabelA
。 我们需要编辑此报告,以便它接受2个参数(Copies
和CurrentCopy
)。添加具有适当表达式的文本字段以显示此信息,例如
="Label " & Parameters!CurrentCopy.Value & " of " & Parameters!Copies.Value
运行此报告并通过手工输入两个参数的数字来测试它的工作原理。一旦你知道这个工作正常,继续。
接下来,我们需要另一份报告将作为我们的循环,所以.... 创建一个新的报告,让我们把它叫做LabelA_Loop
(我知道可怕的名字!)
在LabelA_Loop
,创建数据集并调用它dsLoop
设置数据集查询,以这样的事..
DECLARE @counter int = 1
DECLARE @t TABLE (RowNum int)
WHILE @Copies >= @counter
BEGIN
INSERT INTO @t SELECT @counter
SET @counter = @counter +1
END
SELECT * FROM @t ORDER BY rownum
(当然你可以用任何东西来创建数字列表甚至有一个大的数字表,但这个工程,是很容易做到。 ..)
此时,将根据dsLoop
数据集的要求自动创建参数(@Copies
)。
下一步,向报表中添加一个表。 接下来,将tablix(我们刚刚添加的表)的数据集属性设置为dsLoop
该表只需要一列宽,没有标题行,所以基本上我们只剩下一个“单元格”。删除行标题和最后两列,直到只剩下一个单元格。
在表格单元格中插入子报表并将subreport property
设置为我们的标签报表LabelA
。 在子报表的参数中,将Copies
设置为您的Copies
参数,将CurrentCopy
设置为dsLoop
数据集中的RowNum
字段。
您需要调整单元格的大小来适应和设置分页符,但就是这样。循环报告采用参数Copies
,数据集使用该参数来生成正确数量的记录。它将在数据集的每条记录中添加一行,每行将包含一个标签子报表,每个子报表将传递两个参数,即当前副本和总副本,这些副本又会在最终标签中呈现。
相关问题
- 1. SSRS报告参数需要多个值
- 2. 根据ssrs报告中的多个列创建小计
- 3. 如何创建相同碧玉报告的多个副本?
- 4. 在SSRS中创建报告
- 5. SSRS报告中的标签打印
- 6. 我需要在经典的asp代码中创建asp.net的副本。请建议
- 7. SSRS报告没有创建
- 8. 在SSRS报告中创建多个页面
- 9. 这段代码创建了多少个变量C的副本?
- 10. 要创建普通的报告(此处编码crytal报告)
- 11. 单个SSRS报告中列出的多个报告意味着什么?
- 12. 创建具有多个Paramters一个报告SSRS
- 13. SSRS:报告标签位置动态
- 14. 如何在本地创建ASP.NET中的SSRS报告?
- 15. .clone()创建多个副本
- 16. 使用SSRS创建一个报告,对参数进行迭代
- 17. SSRS报告版本
- 18. SSRS 2008中的按需钻取报告
- 19. 您可以参考来自嵌入代码的ssrs报告上的文本框
- 20. 本地SSRS报告缓慢初始化
- 21. 代码SSRS报告格式-1到是
- 22. SSRS代码和自动报告
- 23. SSRS使用给定的Guid作为标识符创建报告
- 24. 在SSRS报告中排序
- 25. 使用垂直表创建SSRS报告
- 26. SSRS报告 - 动态表格创建
- 27. SSRS创建自定义报告地图
- 28. 需要在SSRS中使用相同的数据创建单页标签
- 29. 需要优化此代码的建议
- 30. SSRS报告中不需要的分页符
您可以添加一个如何打印这些报告的例子吗?你说这是通过命令行;你能展示你使用的代码吗?我怀疑告诉打印机打印多份而不是报告会更容易。 –