- 12
- 0
- 约3.02千字
- 约 6页
- 2017-02-16 发布于北京
- 举报
VB中如何使用水晶报表
水晶报表(Crystal Report)的业内最专业、功能最强的报表系统,它除了强大的报表功能外,最大的优势是实现了与绝大多数流行开发工具的集成和接口。在VS.Net平台做过报表开发的程序员,一定都对水晶报表强大、高效、集成等特性留下了深刻印象。除了开发新程序外,在工作中我们常需要接触到很多较早的软件系统报表功能升级的需求,如果能结合水晶报表这一强大的工具,往往能事半功倍。
VB是以前流行的数据库开发平台,用其开发的C/S系统在社会上有非常大的保有量,但VB超弱的报表功能往往让程序员面对客户的升级要求一筹莫展。本文并不做水晶报表的使用和编程教学,实际上水晶报表本身的使用方法和VS.Net平台并没有太大的差别,我主要是和大家探讨一下VB和水晶报表的一种较方便的接口方式。我的开发测试平台是Windows2003 Standard简体中文版、VB6.0+sp5英文版、Crystal 9.0简体中文开发版。
关于在水晶报表中制作报表模板的方法,并非本文的探讨范围,读者可以参考Crystal Report的帮助文件和官方网站的技术资料。简单地说,首先要通过水晶报表的数据库引擎手动连接相应的表结构,制作报表模板,并保存为rpt文件,该项操作和利用VB自带的报表工具制作报表大同小异。
用VB调用水晶报表进行报表开发的简单接口方法就是,在水晶报表中用仅字段定义来获得字段分布文件,用虚拟的文件创建表字段,用CRAXDRT对象来强制改变数据源(ADO.recordset),其效果相当于在VB中调用了rpt文件。下面分步骤介绍编程方法。
第一步:
在VB工程中Project菜单加入Add Crystal Report 9,报表名使用默认即可。这时Form2(Crystal Rerport自动添加的Form,假设名为Form2)被自动分配了如下代码:
Option Explicit
dim Report as New Cystal1
Private Sub Form_Load()
Screen.MousePointer = vbHourglass 调用水晶报表时置鼠标为沙漏状
CRViewer91.ReportSource = Report 该语句的赋值将在后面被修改
CRViewer91.ViewReport
Screen.MousePointer = vbDefault 调用水晶报表完成后置鼠标为默认形状
End Sub
Private Sub Form_Resize()
CRViewer91.Top = 0
CRViewer91.Left = 0
CRViewer91.Height = ScaleHeight
CRViewer91.Width = ScaleWidth
End Sub
第二步:
点击Crystal Report设计器的数据库字段,选定数据库专家...,然后点创建新连接,再点仅字段定义,创建数据库定义文件,字段名和宽度和原数据库表保持一致。最后,在数据库字段中获得了相应字段,将其置于报表上,按水晶报表的要求配置。
第三步:
该步骤非常关键,添加一个Modual到工程文件中,定义全局的ADODB变量,实现数据库和水晶报表的动态连接。代码如下:
Public conn As New ADODB.Connection
Public rs As New ADODB.Recordset
第四步:
关于VB程序的ADO数据库连接注意事项,请看下面的打印按钮例程。
Private Sub Command1_Click()
Dim connstr As String
If conn.State = adStateOpen Then conn.Close
connstr = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= App.Path \prtest.mdb;Persist Security Info=False prtest.mdb是程序当前目录的测试Access数据库
conn.ConnectionString = connstr
conn.Open
conn.CursorLocation = adUseClient
If rs.State = adStateOpen Then rs.Close
rs.Open test, conn, adOpenKeyset, adLockReadOnly
Report.Database.SetDataSource rs, 3, 1 此行取消
Form2.Show 1 数据库连接完成后,调用Form2水晶报表工程
End Sub
需要提请大家注意的是,上面代码中的Report.Database.SetDataSou
您可能关注的文档
- 2012世奥赛(六年级)试题及答案.doc
- SWOTAnalysisTemplate.docx
- swsw,person企业所得税清算所得合并.doc
- SXTTIV流动实训考核车给青教授.doc
- SYB企业的人员组织.doc
- 2012中国经济形势解析高层报告会2.doc
- SYB创业计划书详本刘灿廖璐.doc
- SYB教学计划大纲修.doc
- SYG03-A002模板支撑技术交底.doc
- 2012上海公务员考试申论真题(A卷).docx
- 25-26学年政治(部编版)选择性必修第二册课件:第1单元 周清1 民法中的人身权及财产权.pptx
- 25-26学年政治(部编版)选择性必修第二册课件:1.4.1 权利保障 于法有据.pptx
- 2025北京丰台区高二(上)期中地理(A卷)含答案.docx
- 2025北京三帆中学初三(上)开学考英语试题含答案.docx
- 2025北京一零一中初三9月月考语文试题含答案.docx
- 2025北京海淀区初三(上)期中道法试题含答案.docx
- 2025北京丰台区高一(上)期中政治(A卷)含答案.docx
- 25-26学年政治统编版必修4课件:3.3 唯物辩证法的实质与核心.pptx
- 25-26学年政治统编版必修4课件:7.2 正确认识中华传统文化.pptx
- 湖北省部分高中2026届高三上学期二模联考 历史试卷.docx
最近下载
- 上海市黄浦区2024-2025学年八年级上学期期末数学试卷(含答案).pdf VIP
- 69095419_A-Aquaeco直流变频水地源(热泵)机组安装操作维护手册20230310-A.pdf VIP
- 部编教材五年级下册语文教案(全册).pdf VIP
- 2022小班长年终总结范文(系列5篇).docx VIP
- 广东省深圳市宝安区2022-2023学年六年级上学期质量监测用卷科学期末试卷.docx VIP
- 做好应急保电预案(3篇).docx
- 哈工大计算机组成原理第六章课件唐朔飞老师.ppt VIP
- 人教版六年级上册语文期末考试卷绝对自己编的_有用的老师可以下载_免费.doc VIP
- 探秘坚果与干果中的隐匿威胁:真菌毒素污染及风险深度剖析.docx VIP
- 森林防火工程技术标准范文.docx VIP
原创力文档

文档评论(0)