点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,我在 vb.net 项目中创...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,我在 vb.net 项目中创...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,我在 vb.net 项目中创建了水晶报表,它在我的系统上运行良好 但是,当我尝试在客户端计算机上运行项目时,该项目会运行,但只有Crystal报表不会运行。 它在" CrystalReports.Engine.ReportDocument"中给出了错误。 我尝试了多种方法来解决它,但徒劳无功。 因此,请帮助我在除我以外的所有计算机上运行Crystal Reports。
我正在构建公司将在其拥有Windows 10到XP的各个部门中使用的项目,因此我需要一个可以实施一次且可以在运行解决方案文件(.exe)的任何计算机上使用的解决方案。
我在表单内的代码如下-
导入CrystalDecisions.CrystalReports.Engine
公共类ChemLabGradePrint
新建公共子类(ByVal GradeIndex1为整数)
InitializeComponent()
Dim ff作为新的PourChemistryDataset.PourChemistryDataTable
昏暗的结果作为PourChemistrReportList
昏暗的SMin作为字符串
昏暗的RMin作为字符串
昏暗的RMax作为字符串
昏暗c作为整数结果=新的PourChemistrReportList(ReaderF(GetPourChemistryReport(GradeIndex1)))
对于c = 0到result.ElementName.Count-1
如果IsNumeric(result.SpecMin(c))并且CDbl(result.SpecMin(c))<> 0然后
SMin = result.SpecMin(c)
其他
SMin =""
如果结束
如果IsNumeric(result.RestrMin(c))And CDbl(result.RestrMin(c))<> 0然后
RMin = result.RestrMin(c)
其他
RMin =""
如果结束
如果IsNumeric(result.RestrMax(c))And CDbl(result.RestrMax(c))<> 0那么
RMax = result.RestrMax(c)
其他
RMax =""
如果结束
'//将记录存储在PourChemistryDataTable表的空表(手动构建)中
ff.Rows.Add(result.ElementName(c),
SMin,result.SpecMax(c),RMin,RMax,result.Pref(c),
result.Bckp(c),result.Comments(c))
下一步
'-------报告
将RDoc变暗为新的ReportDocument
RDoc.Load(CrystalReportViewer1.ReportSource)
RDoc.SetDataSource(DirectCast(ff,DataTable))
RDoc.SetParameterValue(" METGrade",result.MetCode(0))
'//" METGrade"是水晶report.rpt文件中的"参数"字段
RDoc.SetParameterValue(" GradeName",result.GradeName(0))
CrystalReportViewer1.ReportSource = RDoc
结束子
结束班级
然后,将Crystal Report设置为PourChemistryDataTable表的数据源位置,并在报告中显示数据。
所有这些过程都可以在我的系统上正常运行,但不能在其他系统上运行。 将安装相同的运行时版本,并且还授予读取访问权限以访问SQL Server的.mdf文件。 将项目的sql源设置为自动以获取sqlserver和数据库信息。
Designer.vb中的CrystalReportViewer1.ReportSource是=>
Me.CrystalReportViewer1.ReportSource =" P:\ ASW-Core-Shop_New \ ASW-Core-1.1 \ Reports \ ChemLabGradeReport.rpt"
手动设置它是因为它给出了"无法将report.reportSource转换为String"的错误,因此它被手动设置为文件位置。 工厂中的任何计算机都可以访问存储项目的文件位置,因为每个人都可以访问该驱动器。 因此,每个人的系统都可以访问reportSource的文件位置。
一周热门 更多>