欢迎来到天天文库
浏览记录
ID:38752398
大小:35.50 KB
页数:4页
时间:2019-06-18
《水晶报表在VB中的应用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、在VB中使用水晶报表的一种简易编程方法第一步:在VB工程中Project菜单加入"AddCrystalReport9",报表名使用默认即可。这时Form2(Crystal Rerport自动添加的Form,假设名为Form2)被自动分配了如下代码:OptionExplicitdimReportasNewCystal1PrivateSubForm_Load()Screen.MousePointer=vbHourglass '调用水晶报表时置鼠标为沙漏状CRViewer91.ReportSource=R
2、eport '该语句的赋值将在后面被修改CRViewer91.ViewReportScreen.MousePointer=vbDefault '调用水晶报表完成后置鼠标为默认形状EndSubPrivateSubForm_Resize()CRViewer91.Top=0CRViewer91.Left=0CRViewer91.Height=ScaleHeightCRViewer91.Width=ScaleWidthEndSub 第二步:点击CrystalReport设计器的"数据库字段",选定
3、"数据库专家...",然后点"创建新连接",再点"仅字段定义",创建"数据库定义"文件,字段名和宽度和原数据库表保持一致。最后,在数据库字段中获得了相应字段,将其置于报表上,按水晶报表的要求配置。第三步:该步骤非常关键,添加一个Modual到工程文件中,定义全局的ADODB变量,实现数据库和水晶报表的动态连接。代码如下:PublicconnAsNewADODB.ConnectionPublicrsAsNewADODB.Recordset 第四步:关于VB程序的ADO数据库连接注意事项,请看下面的打印按钮例
4、程。PrivateSubCommand1_Click() DimconnstrAsString Ifconn.State=adStateOpenThenconn.Close connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"prtest.mdb;PersistSecurityInfo=False" 'prtest.mdb是程序当前目录的测试Access数据库 conn.ConnectionSt
5、ring=connstr conn.Open conn.CursorLocation=adUseClient Ifrs.State=adStateOpenThenrs.Close rs.Open"test",conn,adOpenKeyset,adLockReadOnly ' Report.Database.SetDataSourcers,3,1 '此行取消 Form2.Show1 '数据库连接完成后,调用Form2水晶报表工程 End
6、Sub 需要提请大家注意的是,上面代码中的Report.Database.SetDataSourcers,3,1是初用水晶报表的程序员容易犯的错误,使用该语句后将造成数据库和水晶报表的连接失败。如何动态调用水晶报表呢?请看第五步。第五步:创建水晶报表和数据库数据源的连接,需要修改上面Form2的代码。OptionExplicit'dimReportasNewCystal1'上面一行取消PrivateSubForm_Load()DimoAppAsNewCRAXDRT.ApplicationDimoRp
7、tAsCRAXDRT.ReportDimreportNameAsString'上面三行是新增加的Screen.MousePointer=vbHourglassreportName="rptPr1.rpt" '定义要引用的rpt文件SetoRpt=oApp.OpenReport(App.Path&reportName,1)oRpt.Database.SetDataSourcers '连接水晶报表和数据源oRpt.ReadRecordsCRViewer91.ReportSource=oRpt
8、'启用水晶报表的预览功能CRViewer91.ViewReportScreen.MousePointer=vbDefaultEndSubPrivateSubForm_Resize()CRViewer91.Top=0CRViewer91.Left=0CRViewer91.Height=ScaleHeightCRViewer91.Width=ScaleWidthEndSubPrivateSubForm_Unload(CancelA
此文档下载收益归作者所有