更新到13.0.17后,无法在带有子报表的报表上设置DataSouce连接信息

2020-09-05 10:54发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们当前正在使用13.0.4,在更新到13.0.17的过程中,我们注意到,每次运行带有子报表的报表时,Crystal都会提示您输入数据库密码。 经过进一步调查,我注意到,如果该报告包含任何子报告,则使用用户名和密码的SetConnection Overload实际上不会更新连接对象。 在下面,我发布了正在使用的代码。

Dim CR作为新的CrystalDecisions.CrystalReports.Engine.ReportDocument

CR.DataSourceConnections(0).SetConnection(dataPath&" test.mdb",dataPath&" test.mdb"," Admin"," ")

对于i As Integer = 0到CR.Subreports.Count-1

CR.Subreports(i).DataSourceConnections(0).SetConnection(dataPath&" test.mdb",dataPath&" test.mdb"," Admin"," ")

下一步

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们当前正在使用13.0.4,在更新到13.0.17的过程中,我们注意到,每次运行带有子报表的报表时,Crystal都会提示您输入数据库密码。 经过进一步调查,我注意到,如果该报告包含任何子报告,则使用用户名和密码的SetConnection Overload实际上不会更新连接对象。 在下面,我发布了正在使用的代码。

Dim CR作为新的CrystalDecisions.CrystalReports.Engine.ReportDocument

CR.DataSourceConnections(0).SetConnection(dataPath&" test.mdb",dataPath&" test.mdb"," Admin"," ")

对于i As Integer = 0到CR.Subreports.Count-1

CR.Subreports(i).DataSourceConnections(0).SetConnection(dataPath&" test.mdb",dataPath&" test.mdb"," Admin"," ")

下一步

付费偷看设置
发送
5条回答
追夢秋陽
1楼 · 2020-09-05 11:34.采纳回答

"我们已修复了一个错误,该错误现在使您可以将PC数据库的位置设置为与报告相同。"

使用ReplaceConnection()来更新连接属性,它一直有效并且一直受到支持 连接信息的更新方式。

"如果在CR Designer中不起作用,则在代码中将不起作用"。

您有答案,请关闭帖子。

< p>祝您好运

太Q了
2楼-- · 2020-09-05 11:33

我们无法控制客户的计算机,以防止他们在自己拥有的硬件上安装软件。 您告诉我修复报告的唯一方法是,如果您不加警告地更改了选项,则将花费大量的开发时间。 您是在告诉我,您没有像以前那样为用户创建使用dll的方法吗?

大简至美
3楼-- · 2020-09-05 11:46

嗨,布莱恩,

检查您的路径:CR.DataSourceConnections (0).SetConnection,可能是您需要添加" \"。

CR.DataSourceConnections(0).SetConnection(dataPath&" \ test.mdb",dataPath&" \ test.mdb" ," Admin"," ")

并检查子报表,SDK不像Designer那样宽容,如果有任何字段或公式使用未知字段,则将其删除。

另一个问题是它可能是您正在使用JET引擎。 现在建议将ODBC推荐给MDB。

仅供参考-MS正在远离MDAC,它只有32位,您需要64位Office Access才能连接到accdb文件。

Don

Climb_Ma
4楼-- · 2020-09-05 11:45

您正在尝试使用UI更改源。 整个问题/问题是关于实用地更改连接信息。 我可以用" Report.rpt"来做,但是不能用"带有子Reports.rpt的报告"来做。 您仍然没有给我一个理由,为什么相同的代码适用于一个而不适用于另一个。

您提到的所有潜在原因均无法得到证实,因为两个报告的配置均相同。 两者都是针对一个数据库编写的。 该示例应用程序试图将两个报表上的连接信息更改为同一数据库,该数据库没有两个报表都使用的表。 路径正确。 但这仅适用于一个报告,而不适用于其他报告。

我需要知道为什么,这就是为什么我开始这个问题/讨论/论坛帖子。

Violet凡
5楼-- · 2020-09-05 11:52

这个问题没有得到回答

一周热门 更多>