Crystal reports Crystal子报表存储过程参数

Crystal reports Crystal子报表存储过程参数,crystal-reports,Crystal Reports,我正在使用Crystal reports designer 11版 我有一个调用子报表的报表,并设置了链接参数。 子报表正在使用存储过程 我看不出我是如何将传递给子报表的参数馈送到返回数据的存储过程中的。在考虑和搜索之后,我收回了原始答案 为SQL命令定义参数后,这些参数将作为报告外部的参数可见/可用。设置从调用报表到子报表的链接时,子报表参数将可见且可用,您可以将主报表中的字段链接到这些参数 最近有人在博客上发表了一篇文章,其中包含了由SQL命令驱动的子报表 我希望这会有所帮助,我希望我最初

我正在使用Crystal reports designer 11版

我有一个调用子报表的报表,并设置了链接参数。 子报表正在使用存储过程


我看不出我是如何将传递给子报表的参数馈送到返回数据的存储过程中的。

在考虑和搜索之后,我收回了原始答案

为SQL命令定义参数后,这些参数将作为报告外部的参数可见/可用。设置从调用报表到子报表的链接时,子报表参数将可见且可用,您可以将主报表中的字段链接到这些参数

最近有人在博客上发表了一篇文章,其中包含了由SQL命令驱动的子报表

我希望这会有所帮助,我希望我最初的回答不会对你的报告进展产生负面影响


原始答案 不能从报表对象向存储过程传递参数。当您在定义报表时首次引用SP时,存储过程将响应CR Designer。CR仅从数据源接口而不是从报表创建指向存储过程参数的链接

您将在Parameters对象中看到一个条目,但它将是只读的——您可以将其放置在display部分,但不能从报表公式、传递的值等进行设置。在调用存储过程之前使用公式处理数据将不起作用,也无法尝试通过主报表的子报表链接传递数据


使用其他设计工具,您可以拥有控制数据源接口的代码,并处理在参数中传递的数据,但在CR Designer中,您几乎只剩下最简单的选项。您可以右键单击参数,然后执行设置默认值、设置提示文本、设置格式的模式/掩码等操作。仅此而已。

我知道这个问题很老,但在其他地方没有找到令人满意的答案。我发现的一个简单的解决方案是从crystal命令中实现存储过程,就像任何其他sql命令一样。无论发生什么,我都无法让参数显示在左下角的下拉列表中。类似于下面的内容,ZNG_PROACTIVE_STREET_SWEEPS是存储过程的名称,这两个参数是存储过程接收的内容


[dbo].[ZNG_PROACTIVE_STREET_SWEEPS]@StartDate={?begindate},@EndDate={?EndDate}

派对真的很晚了,但我正在研究同样的问题(我想),并找到了解决办法。在主报告中,右键单击子报告和“更改子报告链接”

在顶部部分,在主报告中选择您的参数,然后单击右箭头添加到“要链接到的字段”。在窗口底部的子报告部分,将左侧的“子报告参数字段更改为使用”下拉列表更改为。默认情况下,它会在子报表中创建一个新参数,而您不希望这样做。您希望使用现有参数(通过使用存储过程自动添加的参数)。在下拉列表中选择由存储过程自动创建的参数

这样做意味着您可以在主报表中有一个参数,可以自动传递给子报表,这意味着您不必为两个单独的参数输入相同的值


我希望这有帮助。这对我来说非常有用。

我将收回我以前的答案。。。我将发布更新的答案。可能的副本