问题描述
错误:数据报表显示失败!失败原因:加载报表错误。这是打印报表代码:PrivateSubfrmPrint_Load(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesMyBase.LoadDimmyObdAsNewSCMDB.SCMDBTryDimmyRpdAsReportDocument=NewReportDocumentSelectCaseRepNam'myRpd报表文件加载CrystalReport的路径设置Case"ProductList"myRpd.Load(Application.StartupPath&"...."&_"SCMAPPProductListReport.rpt")Case"SupplierList"myRpd.Load(Application.StartupPath&"...."&_"SCMAPPSupplierListReport.rpt")Case"PurchaseProduct"myRpd.Load(Application.StartupPath&"...."&_"SCMAPPPurListReport.rpt")Case"SaleProduct"myRpd.Load(Application.StartupPath&"...."&_"SCMAPPSalListReport.rpt")Case"DamList"myRpd.Load(Application.StartupPath&"...."&_"SCMAPPDamListReport.rpt")EndSelect'设置报表的数据源myRpd.SetDataSource(myObd.CreateDataTableBySQL(SQL))'设置显示的报表文件Me.crvMain.ReportSource=myRpdCatchexAsExceptionMsgBox("数据报表显示失败!失败原因:"&ex.Message,_MsgBoxStyle.Exclamation)Me.Close()ExitSubEndTryEndSub这是函数代码:PublicFunctionPrint(ByValReportNamAsString,OptionalByVal_strConAsString="")AsStringDimstrSQLAsStringIfstrCon=""ThenstrSQL="select*from"&ReportNamElsestrSQL="select*from"&ReportNam&"where"&strConEndIfDimmyfrmAsfrmPrint=NewfrmPrint(ReportNam,strSQL)myfrm.Show()EndFunction这是单击“打印按钮代码”PrivateSubbtnPrt_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnPrt.ClickstadamObj.Print()EndSub
解决方案
解决方案二:
1.输出:Application.StartupPath&"...."&_"SCMAPPSalListReport.rpt"看路径对不对。2.myObd.CreateDataTableBySQL(SQL)的SQL,对不对。得到的表格是报表的数据源吗?
解决方案三:
1.我把路径改成了这样:myRpd.Load(Application.StartupPath&"计算机F超市进销存管理系统jcsNet"&_"SCMAPPSupplierListReport.rpt")我试了一下还是还是报表加载出错。2.我的数据库名称是ScmSysmyObd.CreateDataTableBySQL(SQL)这个代码应该是调用一个函数或者类的..数据源应该是这个文件SalListReport.rpt。
解决方案四:
引用1楼的回复:
1.输出:Application.StartupPath&"...."&_"SCMAPPSalListReport.rpt"看路径对不对。2.myObd.CreateDataTableBySQL(SQL)的SQL,对不对。得到的表格是报表的数据源吗?
1.我把路径改成了这样:myRpd.Load(Application.StartupPath&"计算机F超市进销存管理系统jcsNet"&_"SCMAPPSupplierListReport.rpt")我试了一下还是还是报表加载出错。2.我的数据库名称是ScmSysmyObd.CreateDataTableBySQL(SQL)这个代码应该是调用一个函数或者类的..数据源应该是这个文件SalListReport.rpt。