gpt4 book ai didi

crystal-reports - Crystal 报表配置工具

转载 作者:行者123 更新时间:2023-12-04 23:34:14 29 4
gpt4 key购买 nike

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

2年前关闭。




Improve this question




我有一个包含 50 个奇数子报表的 Crystal 报表,每个子报表都有大量参数。将它从一个数据库切换到另一个数据库需要很长时间,因为 Crystal Reports IDE 坚持要求您为每个子报表输入所有参数。

我想知道是否可以用 C# 编写一个快速工具来查看 rpt 文件中所有子报告的当前数据库配置,并且最好切换到不同的数据库。

不幸的是(或幸运的是)我对 Crystal 对象模型没有太多经验-有人知道从哪里开始吗?

谢谢,
乔恩。

最佳答案

这应该可以完成工作。显然,在必要时替换密码和用户名。

Private Sub ProcessFile(ByVal FileName As String)
Dim CR As Engine.ReportDocument = Nothing
Try
CR = New Engine.ReportDocument
CR.Load(FileName, CrystalDecisions.Shared.OpenReportMethod.OpenReportByDefault)

'Recurse thru Report
RecurseAndRemap(CR)
'Save File
CR.SaveAs("OutPutFilePath")

Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
If Not CR Is Nothing Then
CR.Close()
CR.Dispose()
End If
End Try
End Sub

Private Sub RecurseAndRemap(ByVal CR As Engine.ReportDocument)
For Each DSC As CrystalDecisions.Shared.IConnectionInfo In CR.DataSourceConnections
DSC.SetLogon("YourUserName", "YourPassword")
DSC.SetConnection("YouServerName", "YourDatabaseName", False)
Next

CR.SetDatabaseLogon("YourUserName", "YourPassword")

For Each Table As Engine.Table In CR.Database.Tables
Table.LogOnInfo.ConnectionInfo.UserID = "YourUserName"
Table.LogOnInfo.ConnectionInfo.Password = "YourPassword"
Next

If Not CR.IsSubreport Then
For Each SR As Engine.ReportDocument In CR.Subreports
RecurseAndRemap(SR)
Next
End If
End Sub

希望能帮助干杯本

关于crystal-reports - Crystal 报表配置工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/768166/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com