我有一个报告文件,其中报告提供了关于“职务”的信息-所以这是一个“职务票”报告。在“职务票证”中,有一个具有详细信息的组,该组提供有关单个“组件”的信息,其中任何给定职务中都可以有从1个组件到6个组件之间的任何位置。每个组件都有一个字段,它是一个字符串,是"ComponentType“({sp_JobTicket.ComponentType})。
我想要做的是将每一行ComponentType的值放入一个数组中,然后我可以在页面页脚中调用这个数组(也就是说,我可以创建一个文本对象,并在其中使用“TypeforComponent3”之类的东西调用一个值),所以即使每个打印的页面只显示一个组件的全部细节,每个页面的页脚都将提供所有组件及其类型的一瞥视图。
现在,我们只需手工为打印页面本身上的所有组件编写组件类型,但是我们可以通过数据库访问ComponentType,因此我们应该能够让它在报表上打印。

以下是打印的“职务票证”报告的完整页面预览,该报告有4个组件(因此页面页脚中只有1-4个值,5-6为空),以及当前布局的所有内容,以及我们希望将其放置的位置:

发布于 2015-04-08 18:43:41
所以看起来,解决我的问题的更简单、更直接的解决方案不是使用Array,而是创建一个Subreport。

为此,我创建了一个新的报告,将其链接到我的作业票(main)报告所使用的存储过程,并导入了我需要的数据字段。然后,我继续更改子报表的页面大小,以适应页面上的大小(1.5“x1”),将详细信息部分设置为“多列格式”,该部分专家提供了我输入的新的“布局选项卡”,并选择了“多列格式组”。然后,我将它保存为一个单独的文件,并将该报告作为子报告导入到我的主报表中。最后,我将子报表链接设置为链接到我的"JobNumber“字段,我的主票证使用该字段作为参数,将该字段设置为参数。

圆满完成:

发布于 2015-04-07 15:54:21
很多问题,但假设该报告一次只运行一张工作票,这里有一种可能性:创建名为CT_Array的公式,并将其放置在header1部分并取消:
WhileReadingRecords;
stringvar array CT_Array ;
stringvar output := "";
numbervar i := ubound(CT_Array)+1;
redim preserve CT_Array[i];
CT_Array[i] := {sp_JobTicket.ComponentType};然后创建6个公式(CT_Var1通过CT_Var6)如下:
WhileReadingRecords;
stringvar array CT_Array ;
CT_Array[1]用下一个数组元素号替换CT_Array1
将这些公式放在页脚中。
CT_Var2
WhileReadingRecords; stringvar array CT_Array ;
if ubound(CT_Array) >
1 then CT_Array[2] else ""等等。从CT_Var3到6
https://stackoverflow.com/questions/29481981
复制相似问题