我创建了一个名为'Order Details'的水晶报告。我使用了visual studio 2005(水晶版本10)。
订单详细信息报告使用存储过程填充自身。
它包含一个名为'ChildAssets'的子报表,它调用一个单独的存储过程,子报表需要一个参数。它需要的参数实际上是订单详细信息报告使用的存储过程中的一个字段,即AssetID。
因此,在我的开发机器上,我编辑了ChildAssets子报告以使用OrderDetails报告中的链接参数并选择了AssetID,这在我的机器上运行良好。
父报告所需的服务器,登录凭据和参数都是在代码中完成的,这样我就可以动态地将数据源更改为任何sql server,只要我指向的数据库具有一个具有相同名称的存储过程并返回相同的领域。
问题是这个......
当我将数据源更改为与我用于创建报告的数据源不同的数据源时,它会丢失链接参数,导致子报告不显示任何数据。
父报告工作正常,我知道子报告实际上正在调用其存储过程,因为我更改了存储过程以返回一些行而不需要参数,因此它不是身份验证问题或类似的事情。
由于某种原因,当您更改数据源时,子报表无法找到链接参数的值。
水晶让我经常撞到墙上,但是这个让我疯了! :)如果你们中任何人都知道答案,我将永远感激不尽!
此致
标记
我用谷歌搜索了但找不到答案。
答案 0 :(得分:0)
子报表上的数据源怎么样 - 您是否将其更改为与环境同步?
答案 1 :(得分:0)
您是否也更改了子报表的数据源?设置主报表的数据源不会自动更改子报表。
答案 2 :(得分:0)
我同意这可能是子报告中不正确的数据来源。
如果可能,请通过ODBC连接连接Crystal Report。这样,您只需要更改本地计算机或服务器上的ODBC连接详细信息以查看正确的位置
祝你好运