0

我创建了一个名为“订单详细信息”的水晶报表。我使用了 Visual Studio 2005(水晶版 10)。

订单详细信息报告使用存储过程来填充自身。

它包含一个名为“ChildAssets”的子报表,它调用一个单独的存储过程,子报表需要一个参数。它需要的参数实际上是订单明细报表使用的存储过程中的一个字段,即 AssetID。

因此,在我的开发机器上,我编辑了 ChildAssets 子报表以使用 OrderDetails 报表中的链接参数并选择 AssetID,这在我的机器上效果很好。

父报表需要的服务器、登录凭据和参数都在代码中完成,这样我就可以将数据源动态更改为任何 sql server,只要我指向的数据库具有同名的存储过程并返回相同的字段.

问题是这个...

当我将数据源更改为与我用于创建报告的数据源不同的数据源时,它会丢失链接参数,从而导致子报告不显示任何数据。

父报表工作正常,我知道子报表实际上正在调用它的存储过程,因为我更改了存储过程以返回一些不需要参数的行,因此它不是身份验证问题或类似问题。

由于某种原因,当您更改数据源时,子报表找不到链接参数的值。

水晶让我经常用头撞墙,但这个让我发疯!:)

如果你们中的任何人知道这个问题的答案,我将永远感激不尽!

问候,

标记

我用谷歌搜索了这个,但找不到答案。

4

3 回答 3

0

子报表上的数据源呢?您是否将其更改为与环境同步?

于 2009-07-21T21:30:46.810 回答
0

您是否也更改了子报表的数据源?设置主报表的数据源不会自动更改子报表的。

于 2009-11-12T20:17:07.883 回答
0

我同意这可能是子报告中不正确的数据源。

如果可能,通过 ODBC 连接连接 Crystal Report。这样您只需要更改本地计算机或服务器上的 ODBC 连接详细信息即可查看正确的位置

祝你好运

于 2014-01-22T18:39:27.570 回答