VB中如何使用水晶报表
在VB中集成水晶报表的RDC方法
在VB中集成水晶报表的RDC方法作者:隗燕琳陈敬超陈进明李贵乙张华峰来源:《软件工程》2016年第03期摘要:根据Visual Basic便捷的界面开发能力及CrystalReport强大的数据库报表设计能力,研究探讨了两者相结合的集成编程方法,并分析了各种集成方法中数据格式,数据交互机制及具体应用实例。
采用两者混合编程对数据库软件的开发,提高开发质量和效率具有重要意义。
关键词:混合编程;Visual Basic;CrystalReport;数据报表中图分类号:TP312 文献标识码:AAbstract:In term of the respective advantages of Crystal Report and Visual Basic software,researches are done in this paper on programming with Crystal Report and Visual Basic software together.This paper shows different methods in programming with the two kinds of software and also gives simple illustrations about different methods.It has great importance to help programmers with high quality and efficiency.Keywords:admixture programming;visual basic;crystal report;data report1 引言(Introduction)数据库软件的编写,要求软件开发者不仅具有较高的数据库报表和查询功能的设计能力,而且要具有较高的软件操作界面的设计能力。
使用任何流行的Windows开发工具开发自定义应用程序时,若用自己的方法通过逐条访问数据库记录来开发报表功能,那些复杂的数据格式、字体管理、图形显示,以及其他和Windows相关的显示问题将变得非常重要,这是一个编程挑战。
VB中水晶报表使用
VB中水晶报表使用在VB中,水晶报表是非常常用的工具之一。
可以利用水晶报表来生成各种报表,如销售报表、库存报表等。
本篇文档将介绍VB中如何使用水晶报表。
水晶报表简介水晶报表(Crystal Reports)是由美国公司Crystal Decisions开发并推广的一款报表工具。
它能够通过与各种数据源连接,并结合VB等开发语言,使用丰富的报表设计工具,输出格式优秀、易于管理的报表。
水晶报表常被应用在财务、人力资源、生产管理等领域。
使用步骤步骤一:安装水晶报表在VB中使用水晶报表前,需要先安装相关组件。
水晶报表可以从Crystal Decisions官网下载,也可以通过在线安装程序直接安装。
步骤二:在VB中添加水晶报表安装完毕后,在VB工具箱中,通过右键单击“工具箱” -> “选择工具箱项目”,勾选“Crystal Report Viewer”和“Crystal Reports ActiveX Designer”,点击“确定”即可将水晶报表添加到工具箱中。
步骤三:设计报表在VB中建立一个报表项目,添加CrystalReport控件,然后我们就可以在报表设计器中进行样式、数据源、布局等相关设置。
设计完报表后即可在VB中引用并使用。
步骤四:运行报表在VB程序中,调用所设计的水晶报表,将数据源传入水晶报表中,再查看实际输出效果。
这一步需要注意传入的数据源要与报表设计器中设计的数据源一致,否则将无法正常输出报表。
注意事项1.数据源要与报表设计器中的数据源一致,否则报表将无法正常输出;2.在VB程序中使用水晶报表时,需要在程序头部声明相关引用;3.如果需要在VB项目中修改已经设计好的水晶报表,需要先关闭VB工程,再进行报表修改操作;4.水晶报表设计器中能够支持的数据源类型非常多,如Excel、XML、Access、Oracle等,使用中需要根据实际情况进行选择。
总结通过本文对VB中水晶报表的介绍,我们可以清楚的了解到水晶报表的作用及在VB中的使用方法,以更好地完成各种报表任务。
水晶报表的基本使用方法
水晶报表的基本使用方法水晶报表是一种用于数据分析和可视化的工具,它可以帮助用户更好地理解和展示数据。
在使用水晶报表时,我们需要掌握一些基本的使用方法,以便能够灵活运用它的功能。
下面将介绍水晶报表的基本使用方法。
我们需要了解水晶报表的界面。
水晶报表的界面通常由菜单栏、工具栏、报表区域和数据源区域组成。
菜单栏包含了各种功能选项,可以通过点击菜单栏上的选项来进行相应的操作。
工具栏中则提供了一些常用的工具按钮,方便我们快速进行操作。
报表区域是我们设计和展示报表的主要区域,我们可以在这里对报表进行编辑和预览。
数据源区域则是用于连接数据源和导入数据的区域。
在开始设计报表之前,我们首先需要连接数据源。
水晶报表支持多种数据源的连接,包括数据库、Excel文件、文本文件等。
我们可以通过点击数据源区域中的相应按钮来选择并连接数据源。
连接成功后,我们就可以在数据源区域中看到已连接的数据表。
接下来,我们可以开始设计报表了。
水晶报表提供了丰富的报表设计功能,可以满足各种需求。
我们可以通过拖拽字段到报表区域来选择需要展示的数据,并可以对数据进行排序、筛选、分组等操作。
在报表区域中,我们可以选择不同的报表类型,如表格、柱状图、折线图等,来展示数据。
我们还可以对报表进行样式设置,如调整字体、颜色、边框等,以使报表更加美观。
除了基本的报表设计功能,水晶报表还提供了一些高级功能,如参数设置、公式计算、数据透视等。
参数设置可以让用户在使用报表时输入参数,以实现动态查询和筛选数据的目的。
公式计算可以用于对数据进行复杂的计算和分析。
数据透视可以帮助我们对大量数据进行汇总和分析,以便更好地理解数据。
在设计完报表后,我们可以对报表进行预览和输出。
水晶报表可以生成多种输出格式,如PDF、Excel、HTML等,我们可以根据需要选择相应的输出格式。
在预览报表时,我们可以查看报表的实际效果,并可以进行调整和修改。
在输出报表时,我们可以选择输出的范围和文件名,并可以设置一些输出选项,如是否包含页眉页脚、是否自动换页等。
水晶报表的使用
3.3 Pull模式的使用
首先创建rpt文件,并使用水晶报表设计接 口设置一些必须的数据连接。 拖放一个 CrystalReportViewer控件至 aspx页面,设置它的属性指定我们上一步 创建的.rpt文件。 在代码中调用DataBind方法。
创建 .rpt 文件:
1)
2) 3) 4) 5)
使用Pull模式导出报表
private void btnOutput_Click(object sender, System.EventArgs e) { CrystalReport1 myReport = new CrystalReport1(); CrystalDecisions.Shared.DiskFileDestinationOptions DiskOpts = new CrystalDecisions.Shared.DiskFileDestinationOptions(); myReport.ExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile; myReport.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDoc Format; DiskOpts.DiskFileName = "c:\\Output.pdf"; myReport.ExportOptions.DestinationOptions = DiskOpts; myReport.Export(); }
6)
7) 8)
在右击“解决方案游览器”,在弹出的菜单中选择“添加” --“添加新项”-->“Crystal Report” 在“Crystal Report 库”中选择“作为空白报表”单选按 钮,最后单击“确定”。 出现水晶报表设计器。 右击报表中的“详细资料区”,选择“数据库”->“添加/ 删除数据库..." 在弹出的“数据库专家”中,扩展“OLE DB(ADO)”选项, 此时会弹出另外一个“OLE DB(ADO)”窗口。 在 "OLE DB (ADO)" 弹出窗口中,选择 "Microsoft OLE DB Provider for SQL Server" 然后 "Next" 指定连接的信息(选择Pubs库) 单击“下一步”,最后单击“完成”按钮。
水晶报表的基本使用方法
水晶报表的基本使用方法水晶报表是一种数据可视化工具,可以帮助用户更直观、清晰地呈现数据。
使用水晶报表可以轻松创建各种类型的报表,包括数据表格、图表、交叉表等。
本文将介绍水晶报表的基本使用方法。
一、创建报表在水晶报表软件中,可以通过多种方式创建报表。
最常用的方法是使用向导或模板来创建报表。
用户可以根据需要选择不同的报表类型和样式,然后按照向导的指引逐步完成报表的设计和设置。
二、导入数据在创建报表之前,首先需要导入数据。
水晶报表支持多种数据源,包括数据库、Excel表格、文本文件等。
用户可以选择合适的数据源,并根据需要设置数据连接参数。
导入数据后,可以对数据进行预处理,如筛选、排序、分组等操作。
三、设计报表在导入数据后,可以开始设计报表的布局和样式。
水晶报表提供了丰富的设计工具和功能,可以轻松创建各种类型的报表。
用户可以选择合适的数据字段,并根据需要设置字段的显示格式、计算公式等。
此外,还可以添加标题、页眉、页脚等元素,以及设置报表的背景、字体、颜色等样式。
四、创建数据透视表水晶报表还支持创建数据透视表,可以帮助用户更好地分析和汇总数据。
用户可以选择需要分析的字段和计算方式,然后根据需要进行数据透视表的设置和调整。
通过数据透视表,可以快速生成汇总表、交叉表等报表,并进行数据筛选、排序、分组等操作。
五、添加图表水晶报表提供了丰富的图表类型,包括柱状图、折线图、饼图等。
用户可以根据需要选择合适的图表类型,并将数据字段拖拽到图表中进行数据分析和展示。
通过设置图表的样式、颜色、标签等属性,可以使报表更加直观、易于理解。
六、设置报表参数在设计报表过程中,还可以设置报表的参数,以便用户在查看报表时进行灵活的数据筛选和分析。
用户可以添加参数字段,并设置参数的类型、默认值、取值范围等属性。
通过参数设置,可以实现报表的动态筛选和交互式操作。
七、导出报表完成报表设计后,可以将报表导出为不同的格式,如PDF、Excel、Word等。
VB如何调用CrystalReports
常用报表大约有:列表式的报表;带有分类、汇总式的报表;以及带有各种 图形、图表的报表。
下面就这两种方法举例说明几种报表的 制作。
直接使用 Crystal ActiveX 控件生成报表使用 Crystal ActiveX 控件应先建立数据库, CrystalVB 如何调用 Crystal Reports VB 如何调用 Crystal Reports shkingdee 在 VB 中利用 Crystal ActiveX 控件制作报表 在自行开发的应用软件中,一般都需要制作报表。
我们可以 利用 Crystal Reports (也称水晶报表)方式,调用 通过其他( Print 方法直接输出, TextBox 等)控件输出报表, 使用 OLE 技术与 Word 和 Excel 连接输出报表。
Crystal Reports 方式需要许多文件支持, 通常需要耗用更多的系统资 源,但与其他方法 相比,具有容易实现、功能强大、报表样式丰富的特点。
Crystal ActiveX 控件制作报表一般有两种方法: 1. 直接使用 Crystal ActiveX 控件生成报表。
2. 先用 CRW32.EXE 产生 RPT 报表文件, 然后在控件 中引用 RPT 文件。
ActiveX 控件支持流行的数据库类型,女口:Access、xBase、Paradox。
直接使用CrystalActiveX 控件只能制作简单的列表式报表。
1. 新建一个工程,在窗体Form1 上添加Data 控件,Crystal ActiveX 控件,命令按钮。
2.在Data 控件上将DatabaseName 属性设置为要生成报表的数据库名称,如Biblio.mdb 。
设置RecordSource 属性为数据库中表名称或SQL 查询语句。
这里我们设置成表Authors 。
3.在Crystal ActiveX 控件上设置DataSource 属性为Datal,设置ReportSource 属性为3。
水晶报表的基本操作
水晶报表的基本操作一.配置ODBC1.打开控制面板,双击管理工具2. 在管理工具页面,双击数据源(ODBC)3. 在打开的数据源页面,点击添加按钮4. 会出现如下页面,找到相应的数据库类型,双击打开。
5. 以oracle 10g 为例,出现如下页面。
以图示步骤,先填写DB信息,完成后点击Test,测试是否连通。
连通后,点击OK6. 点击Finsh完成配置。
二.修改水晶报表模板文件1.为模板文件添加数据源1)双击打开模板文件,在Field Explorer窗口右击Data Field,选择Database Expert,打开如下窗口。
2)点击ODBC,会打开如下窗口。
3)选择已经配置的数据源,点击Finsh。
2.修改模板文件的数据源1)双击打开模板文件,在Field Explorer窗口右击Data Field,选择Set Datasource Location,打开如下窗口2)在Replace with对话框中选择新的数据源,点击update。
会弹出如下窗口3)填写一个Job_id(如果不知道,要随便填一数字),点击OK。
3.在模板文件中添加数据行1)在Design窗口最左侧的数据行的title上右击,选择Insert Section Below会在当前section下插入一行section。
2)在新加入的行中右击,选择Insert Text Object将插入一个文本对象。
在此Section的空白处点击,即可插入。
3)此时可从Field Explorer窗口中拖拽字段放入Text Object注意:添加的Section行是不会产生横线的,如果需要,选择划线工具,画出一条横线。
4.修改模板文件中的字段显示格式1)在数据字段上右击,点击Format Field,可在出现的对话框中,去控制格式。
如果需要变更显示内容,可点击common选项卡。
在Display String一行中点击后方的按钮,可在出现的对话框中用VB脚本控制显示。
水晶报表CryStalReport简单应用精选全文
可编辑修改精选全文完整版水晶报表CryStalReport使用教程(动态数据绑定)
第一步:添加水晶报表报表
1、右击鼠标,选择水晶报表
2、选择作为空白报表
第二步:添加数据集DataSet 1、右击鼠标,选择数据集
2、单击工具箱,拖拽一个DataTable到右边
3、根据数据表设计好DataTable
第三步:设计报表
1、从工具箱拖拽一个文本对象到页眉,并输入文字
2、选择字段资源管理器,右击数据库字段,选择数据库专家
3、从我的连接中选择MYDataSet到右边的选定的表
4、从左边的数据库字段中拖拽一些需要的字段到右边详细资料
5、展开特殊字段,拖拽一个第N页共M页,到页脚
第四步:添加页面
在页面中添加一个CryStalReportViewer控件
第五步、双击页面,编写数据绑定代码
protected void Page_Load(object sender, EventArgs e)
{
BLL.QueryAllStuService Qas = new BLL.QueryAllStuService();
MyCrystalReport Mcr = new MyCrystalReport();
Mcr.SetDataSource(Qas.QueryAllStudents());
CrystalReportViewer1.ReportSource = Mcr;
}
单击F5,运行效果如下:。
vb net数据库使用技巧——制作水晶报表Crystal Report
建立水晶报表的过程:▪ 1 设置DataSet数据源,建立数据集▪可以根据向导制作,过程简单。
▪ 2 建立报表▪使用上面的DataSet数据源,可以采用向导或手工,操作基本相同。
▪ 3 显示报表▪建立一个窗体(在此窗体中显示报表),▪窗体中添加crystalReportViewer控件(此控件用于显示具体的报表)▪在报表显示前指定一个DATESET作为数据源为报表的各个字段赋值▪把此报表指定给crystalReportViewer控件数据表说明[货物信息表](1)添加数据集(2)添加控件前的设置,如此图的dsn 设置点[新建连接]按钮后弹出界面(4)回到上一个界面后,点下一步请选择使用SQL语句,否则将一次多出四个存储过程,相对来说比较混乱。
而我们这里用的数据集仅目的是为了建立报表的时候可以设置报表字段。
(5)继续点下一步(6)点查询生成器,添加需要的数据库表(7)可以随意设置,自动会生成SQL语句,也可以点[执行查询]察看效果(8)点确定回到向导设置界面出现SQL语句(9)下一步保持默认(10)点完成(11)得到的数据集右键点配置,可以得到SQL 语句同时可以修改SQL点预览数据可以察看SQL语句执行结果(12)重点:这里的数据集对象是为了进行报表的设置,也就是说在报表设计的时候可以直接指定哪个位置显示什么字段,而字段的可以从上面做的数据集中直接拖出,比较方便。
如果报表显示的时候应该动态的为此报表提供查询出的数据集,提供数据集的方法依然是通过代码执行存储过程或者SQL语句来完成的ADAPTER对象的FILL方法。
因此我们拷贝上面查询分析器生成的SQL语句制作一个存储过程二)建立报表自动会弹出,选择报表向导拖动我们刚才设置的数据集到右边选择字段下一步这里我们不需要分组,所以不用设置下一步我们不需要筛选,如果需要筛选,右面图是个筛选例子最后设置报表风格,右面可以清楚显示预览效果,自己选择,建议标准符合常规建立的新报表如下设置页眉(1)报表页眉是每个报表的标题部分,默认状态时不显示,点击右键之后选择变为可显示状态可以拖动下面的页眉部分,来调整报表页眉的大小工具中拖个文本对象到报表页眉写字并设置大小拖个温州大学图标到界面上预览报表这种效果是正常的,数据很随意报表一般都有表格把文字隔开,如上图报表效果不美观,需要添加表格线注意可疑在页眉中标题的上下画2条线,而在详细资料部分只需文字下面绘制一条线,原因是报表页眉和页脚都是出现一次的地方,绘制的效果是编辑的效果,而详细资料部分是个模板位置,仅需要设置一行就可以产生无数行效果,而每一行都有下画线,这样上行的下画线将成为下行的上画线。
在vb6中连接水晶报表使用心得
CRViewer1.DisplayTabs = Not CRViewer1.DisplayTabs
vb中调用水晶报表生成的*.rpt文件
CrystalReport1.ReportFileName = App.Path & "liuhan.rpt"
CrystalReport1.WindowTitle = "打印预览"
CRViewer1.EnableRefreshButton = Not CRViewer1.EnableRefreshButton
是否显示工具栏
CRViewer1.EnableToolbar = Not CRViewer1.EnableToolbar
是否显示比例调整窗口
CRViewer1.EnableZoomControl = Not CRViewer1.EnableZoomControl
窗体代码部分:
Dim m_Report As New CrystalReport1 '(这个CrystalReport1是你建立的报表的名称)
Dim m_Connection As ADODB.Connection '(建立一个ADO连接)
Dim adoRS As ADODB.Recordset
报表显示的样式
CRViewer1.DisplayBackgroundEdge = Not CRViewer1.DisplayBackgroundEdge
报表控件是否有边框
CRViewer1.DisplayBorder = Not CRViewer1.DisplayBorder
是否显示弹出菜单
CRViewer1.EnablePopupMenu = Not CRViewer1.E
vb调用Crystal Report
实现过程:
在开发之前请安装VB6.0的任一版本,并安装好Crystal Report8.5开发版或是专业版。并确认在crystal report安装是选上了Developer Components。
1、 打开VB,新建一ActiveX DLL工程,系统会自动生成一个类Class1,把该类改名为clsCryReport,把系统的工程名也改名为ProjCryReport
9、 添加一按钮cmdShowReport,并在该窗体内写入如下代码:
Option Explicit
Dim cryShow As New clsCryReport '这里是声明一个报表类的对象
Dim cn As New ADODB.Connection '声明一个数据库的连接
5、 回到clsCryReport,在类中加入如下的代码:
Option Explicit
Dim cry As New cryTestDllReport
Public Sub ShowReport(ByVal frm As Object, ByVal rsCryTestDll As ADODB.Recordset)
Staff_id Long
Name String 20
Age Long
Addr String 50
最后将其加入(Add)报表。
VB水晶报表使用方法
集成水晶报表的方法Crystal Reports是非微软的第三方工具,用于处理数据报表,帮助用户分析和解释重要信息。
使用Crystal Reports可以方便地创建你所能想象的任何报表。
Visual 中集成的Crystal Reports 9(简化版本)赋予.NET平台创建交互式的、高质量展示内容的能力,您可以在Web平台和Windows平台上呈现报表,甚至将Crystal报表作为报表Web服务在Web服务器上发布。
介绍Visual 集成Crystal Reports的资料真是少的可怜,好东东当然不敢独享,所以写下本文,水平有限,还望各位大虾指教。
说了这么多,是不是感觉到.NET的无所不能,如果你正在寻找企业报表开发的新大陆,那你可要打起精神,睁大眼睛继续读下去啦!我们用一个简单的实例来说明在Visual 中怎样玩转Crystal Reports。
(本程序代码已在Visual 简体中文版调试通过。
)实现功能:点击生成报表按钮可根据用户输入的客户ID号生成相应报表(输入0显示所有订单记录),并在CrystalReportViewer控件中预览。
须注意的重点:1、怎样在运行时将Crystal报表与后台数据源连接,即安全数据连接。
(运行时动态连接数据库可灵活的设置数据环境及避免Crystl Reports弹出数据库登陆对话框。
)2、怎样让Crystal报表与界面控件交互首先在MS-SQL Server 2000中建立一名为"MRP"的实例数据库,其中有"客户"和"订单"两张表。
订单表的结构:客户表与订单表可通过ID字段建立一对多关系。
(建库细节请参阅有关书籍)然后,我们就可以在Crystal Report Designer中设计和修改报表(Crystal Report Designer已集成在Visual Studio .NET开发环境内),启动方法如下:1、在Visual 解决方案资源管理器中,右击您的项目以显示快捷菜单。
vbnet 水晶报表教程:对比FineReport之图表布局
雷达图将国家/地区或客户等分组数据放置于雷达的边缘。雷达图将数值按分组数据与全体分组数据的关系。
气泡图
气泡图(XY 散点图类型的扩展)将数据表示为一系列气泡,气泡的大小与数据量成正比。使用气泡图表 示产品在某地区的销量很有效,气泡越大,此地区的销量就越大。
条形图
大多数条形图(也称作柱形图)显示或比较多个数据组。两种有用的条形图是并排条形图和堆积条形图。 并排条形图
并排条形图以一系列垂直条显示数据。这种类型的图表最适于表示跨越一段时间的多个数据组(例如 AZ、 CA、OR 和 WA 地区去年的销售数字)。
堆积条形图 堆积条形图以一系列垂直条显示数据。这种类型的图表最适合表示三个系列的数据,每个系列的数据由 一种颜色表示,堆积在一个柱形中(例如 1997 年、1998 年、1999 年的销售)。
finereport 布局功能如下:
1. 描述 插入图表时,首先就是要选择图表类型。FineReport 报表支持多种统计图表,
每类图表又包含多种样式风格,该章节列出所有的图表类型以供参考。 2. 图表类型 2.1 柱形图
柱形图种类:柱形图、堆积柱形图、百分比堆积柱形图、三维柱形图、三维 柱形图(横向)、三维堆积柱形图、三维百分比堆积柱形图。 2.2 折线图
水晶报表教程:对比 FineReport 之图
表布局
水晶报表(crystal report) 和 FineReport 都是很常用的报表工具,这里对比 一下它们的图表布局功能。
水晶报表图表布局功能如下:
图表布局
图表类型
不同的数据组适合不同的图表类型。下面是主要图表类型及其常见用途的概述。
股票图
股票图用来表示数据值的高低。在监视金融或销售行为方面很有用。
vbnet 水晶报表教程:对比FineReport之绘制图表
水晶报表教程:对比FineReport 之绘制图表水晶报表(crystal report)和FineReport都是很常用的报表工具,这里对比一下它们的绘制图表功能。
水晶报表绘制图表功能如下:在水晶报表(crystal report)中,绘制图表功能如下:绘制图表概述Crystal Reports使您可以在报表中包含复杂的、多彩的图表。
任何时候都可以使用这些图表来增加报表的可用性。
例如,如果您有一个按地区分组的销售报表,其中有各个地区去年的销售小计,则可以快速创建显示各地区销售额的图表。
您可以根据以下内容绘制图表:汇总和小计字段详细资料、公式和运行总计字段。
交叉表汇总。
OLAP数据创建图表在详细资料或公式字段上绘制图表(高级布局)“高级”布局允许您根据特定值创建图表。
因为图表是一种表示汇总信息的好方法,所以通常基于报表的汇总字段。
使用“高级”布局,您可以使用报表“详细资料”节的值来创建图表,而无须使用汇总字段。
若要创建基于“高级”布局的图表,您必须指定以下两方面内容:∙条件(可以有两个)。
∙值(可以有多个值)。
条件条件用来指定什么时候绘制点。
例如,显示您的客户去年销售额的图表使用客户姓名字段作为条件。
每当条件改变(即客户姓名改变)时,即绘制一个点。
您也可以选择为每个记录绘制一个点,或为全部记录绘制一个点。
值“高级”图表使用数值来指定将哪些信息绘制成图表上的点。
例如,若要创建显示您的客户去年销售额的图表,去年的销售额字段便是值。
在汇总或小计字段上绘制图表(分组布局)您所创建的很多图表是根据报表中的汇总或小计字段绘制的。
为了创建这些图表,您必须先在报表的组页眉或页脚中插入汇总或小计。
有关插入汇总或小计的更多信息,请参阅汇总分组的数据和小计。
在汇总或小计字段上绘制图表1.在“插入”菜单上,单击“图表”。
显示“图表专家”对话框。
2.提示:完成此项任务的另一方法是单击“插入工具”工具栏上的“插入图表”按钮。
VB如何调用Crystal Reports
VB如何调用Crystal ReportsVB如何调用Crystal Reportsshkingdee 在VB中利用Crystal ActiveX控件制作报表在自行开发的应用软件中,一般都需要制作报表。
我们可以利用CrystalReports(也称水晶报表)方式,调用Print方法直接输出,通过其他(TextBox等)控件输出报表,使用OLE技术与Word和Excel 连接输出报表。
CrystalReports方式需要许多文件支持,通常需要耗用更多的系统资源,但与其他方法相比,具有容易实现、功能强大、报表样式丰富的特点。
用Crystal ActiveX控件制作报表一般有两种方法:1.直接使用Crystal ActiveX控件生成报表。
2.先用CRW32.EXE产生RPT报表文件,然后在控件中引用RPT文件。
常用报表大约有:列表式的报表;带有分类、汇总式的报表;以及带有各种图形、图表的报表。
下面就这两种方法举例说明几种报表的制作。
一、直接使用Crystal ActiveX控件生成报表使用Crystal ActiveX控件应先建立数据库,Crystal ActiveX控件支持流行的数据库类型,如:Access、xBase、Paradox。
直接使用Crystal ActiveX 控件只能制作简单的列表式报表。
1. 新建一个工程,在窗体Form1上添加Data 控件,Crystal ActiveX控件,命令按钮。
2. 在Data 控件上将DatabaseName 属性设置为要生成报表的数据库名称,如Biblio.mdb。
设置RecordSource 属性为数据库中表名称或SQL查询语句。
这里我们设置成表Authors。
3. 在Crystal ActiveX控件上设置DataSource 属性为Data1,设置ReportSource 属性为3。
ReportSource 属性:0 -使用RPT报表文件;1 -绑定到TrueGrid控件;3 -Data 控件所有的Fields。
VB中如何利用水晶报表控件实现报表设计
VB中如何利用水晶报表控件实现报表设计
张晓红
【期刊名称】《陕西理工学院学报(自然科学版)》
【年(卷),期】2005(21)4
【摘要】管理信息系统开发中,输出设计主要是指报表设计.VB中利用水晶报表控件比用其自身的报表设计器实现报表预览或打印实用方便得多,而利用存储过程可加快程序的执行效率.以Windows操作系统下同SQL Server的连接为例介绍其具体应用.
【总页数】3页(P29-30,34)
【作者】张晓红
【作者单位】辽东学院,信息管理系,辽宁,丹东,118001
【正文语种】中文
【中图分类】TP311.11
【相关文献】
1.VB中利用串行通信控件实现数据采集 [J], 蔡友林;潘仕彬;蔡丽林;韩梅
2.在VB中利用Winsock控件实现局域网通信 [J], 王留洋
3.论如何利用MSComm控件在VB中实现远程通讯 [J], 黄智勇
4.在Power Point中利用VBA控件实现断层医学图像集的手控浏览 [J], 周子恩;许建荣
5.利用VB中的图形控件实现复杂曲线图的绘制 [J], 张玉娟
因版权原因,仅展示原文概要,查看原文内容请购买。
在vb6中连接水晶报表使用心得
在vb6中连接⽔晶报表使⽤⼼得在vb6中连接⽔晶报表使⽤⼼得VB6中使⽤⽔晶报表并动态设置数据源⾸先引⽤Crystal Reports 9 ActiveX Designer Run Time Library再添加Crystal Repotr View Control 9控件在⼯程资源管理器中右键--添加--Crystal Reports 9 新建⼀个Crystal Reports9报表设置数据源后将要显⽰的字段加⼊报表内。
窗体代码部分:Dim m_Report As New CrystalReport1 '(这个CrystalReport1是你建⽴的报表的名称)Dim m_Connection As ADODB.Connection '(建⽴⼀个ADO连接)Dim adoRS As ADODB.RecordsetPrivate Sub Form_Load()Dim SQL As StringDim strConnect As String' Create and bind the ADO Recordset objectSet m_Connection = New ADODB.ConnectionSet adoRS = New ADODB.Recordset' Open the connectionstrConnect = "你的数据库连接字符串"m_Connection.Open strConnectSQL = "查询语句"adoRS.Open SQL, m_Connection, adOpenDynamic, adLockBatchOptimisticm_Report.Database.SetDataSource adoRS'(动态设置报表数据源)Screen.MousePointer = vbHourglassCRViewer1.ReportSource = m_ReportCRViewer1.ViewReport '(显⽰报表)Screen.MousePointer = vbDefaultEnd Sub显⽰打印机设置动话框报表名.PrinterSetup Me.hWnd⽤代码设置纸张⼤⼩报表名.PaperSize =crPaperA4是否显⽰右上⾓⽔晶报表的图标CRViewer1.EnableAnimationCtrl = Not CRViewer1.EnableAnimationCtrl是否显⽰导出报表按钮CRViewer1.EnableExportButton = Not CRViewer1.EnableExportButton是否显⽰关闭按钮CRViewer1.EnableCloseButton = Not CRViewer1.EnableCloseButton是否显⽰左侧树列表CRViewer1.EnableGroupTree = Not CRViewer1.EnableGroupTree是否显⽰导航CRViewer1.EnableNavigationControls = Not CRViewer1.EnableNavigationControls是否显⽰弹出菜单CRViewer1.EnablePopupMenu = Not CRViewer1.EnablePopupMenu是否显⽰打印按钮CRViewer1.EnablePrintButton = Not CRViewer1.EnablePrintButton是否显⽰刷新按钮CRViewer1.EnableRefreshButton = Not CRViewer1.EnableRefreshButton是否显⽰⼯具栏CRViewer1.EnableToolbar = Not CRViewer1.EnableToolbar是否显⽰⽐例调整窗⼝CRViewer1.EnableZoomControl = Not CRViewer1.EnableZoomControl报表显⽰的样式CRViewer1.DisplayBackgroundEdge = Not CRViewer1.DisplayBackgroundEdge报表控件是否有边框CRViewer1.DisplayBorder = Not CRViewer1.DisplayBorder是否显⽰报表的选项卡CRViewer1.DisplayTabs = Not CRViewer1.DisplayTabsvb中调⽤⽔晶报表⽣成的*.rpt⽂件CrystalReport1.ReportFileName = App.Path & "liuhan.rpt" CrystalReport1.WindowTitle = "打印预览"CrystalReport1.WindowState = crptMaximized '使打印预览窗⼝最⼤化******** CrystalReport1.Destination = crptToWindow '到窗⼝***********************'CrystalReport1.Destination = crptToPrinter'到打印机********************CrystalReport1.PrinterDriver = 1CrystalReport1.PrintReport解决⽔晶报表更新数据后需按刷新问题报表名.DiscardSavedData。
vbnet 水晶报表初级教程:对比FineReport之报表填报
水晶报表初级教程:对比FineReport 之报表填报水晶报表(crystal report)和FineReport都是很常用的报表工具,这里对比一下它们的报表填报功能。
表单表单的回填是水晶报表(Crystal Report)完全不能支持的功能。
FineReport 支持基于纯HTML的表单回填,支持各种主流的浏览器。
编辑风格表单提供普通文本编辑框、复选框、下拉列表框、下拉日历、文件上传等。
自动计算表单可支持类似EXCEL的自动计算功能,程序根据用户的设置在前端生成JavaScript表达式完成自动计算。
自动计算还可跨表,多sheet之间的相互运算。
数据的扩展允许报表单元格与数据库字段间任意对应,并有自动扩展的能力。
支持任意格式的表单回填数据。
直接回填到数据库用户填写的数据,都直接存储到数据库当中,无需中间环节。
多级汇总填报表单的报表同时还是个统计表,单元格数据可以有不同的来源和去向,这样可以先从下级机构汇总出数据再加以补充修改后填写到上级数据库中。
FineReport报表,其制表效率十倍于以国外产品为代表的传统报表工具。
对比点FineReport CrystalReport应用集成后台的环境支持纯JAVA,全支持个别产品只支持Windows前台的环境支持纯HTML,全支持一般仅支持IEJ2EE的应用服务器管理嵌入应用,可充分利用应用服务器各项能力独立服务器,应用服务器能力不可利用J2EE的WEB部署与应用统一部署单独安装部署,操作繁琐J2EE的应用接口丰富齐全,结合紧密通过网络协议,力度不足,统计图常采用古老的CGI方式Java Application集成支持非纯JAVA的不支持.NET的应用集成支持,独立服务支持页面的集成完全随意嵌入独立门户,很困难用户权限控制与应用程序一致独立机制很繁琐IDE集成能力有限支持不支持并发能力较强,4万单元格表在512M内存可并发50个以上基础程序对内存要求很高,并发数较少数据设计多数据源(集)直接间接支持完全分组(多层)支持支持,较繁琐完全交叉(多层)支持,无须专门处理支持,用专门的交叉模型不完全分组/固定行列支持编程准备数据上下分片支持,上下格式可不一致,固定变动混合格式一致的可编程准备数据,否则必须拼子表完成左右分片支持,固定变动混合,直接运算性能高固定列的可编程准备数据,采用DB叉乘性能很差跨行组运算支持,随意通用固定的简单跨行运算,跨组不支持独立格运算支持,随意通用固定几种运算,来自DB的要专门处理主从报表无须子表概念即可完成须用子表,数据无法沟通子表多层任意,格线可对一般两层,横向表不齐可缩放,横纵向均可自动摆位可自动摆位参数与宏均支持仅支持参数报表展现基本方案EXCEL网格式,方便快捷控件式,对齐繁琐导入EXCEL支持不支持套打绘制底图描绘精确度量报表输出格式标准HTML,PDF,word完全不失真的EXCEL,带格式文本PDF,特殊HTML,丧失格式的EXCEL,无格式文本统计图输出格式GIF,JPG,PNG GIF,JPG打印分页分栏横纵向均可,强制分页仅支持纵向,且不可分栏其它打印控制一纸多页,补空行,缩放缩放表单编辑风格文字编辑、下拉选择等不支持自动计算支持合法性检查支持数据库对应随意自动,行/列/交叉均可多级汇总填报支持部署和应用集成WEB部署FineReport报表工具的服务程序以JAR包形式出现,可与应用程序统一打成包一起部署在应用服务器上,安装非常轻松。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
水晶报表(Crystal Report)的业内最专业、功能最强的报表系统,它除了强大的报表功能外,最大的优势是实现了与绝大多数流行开发工具的集成和接口。
在平台做过报表开发的程序员,一定都对水晶报表强大、高效、集成等特性留下了深刻印象。
除了开发新程序外,在工作中我们常需要接触到很多较早的软件系统报表功能升级的需求,如果能结合水晶报表这一强大的工具,往往能事半功倍。
VB是以前流行的数据库开发平台,用其开发的C/S系统在社会上有非常大的保有量,但VB 超弱的报表功能往往让程序员面对客户的升级要求一筹莫展。
本文并不做水晶报表的使用和编程教学,实际上水晶报表本身的使用方法和平台并没有太大的差别,我主要是和大家探讨一下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.SetDataSource rs, 3, 1是初用水晶报表的程序员容易犯的错误,使用该语句后将造成数据库和水晶报表的连接失败。
如何动态调用水晶报表呢?请看第五步。
第五步:
创建水晶报表和数据库数据源的连接,需要修改上面Form2的代码。
Option Explicit
'dim Report as New Cystal1
'上面一行取消
Private Sub Form_Load()
Dim oApp As New CRAXDRT.Application
Dim oRpt As CRAXDRT.Report
Dim reportName As String
'上面三行是新增加的
Screen.MousePointer = vbHourglass
reportName = "\rpt\Pr1.rpt"'定义要引用的rpt文件
Set oRpt = oApp.OpenReport(App.Path & reportName, 1)
oRpt.Database.SetDataSource rs '连接水晶报表和数据源
oRpt.ReadRecords
CRViewer91.ReportSource = oRpt '启用水晶报表的预览功能
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
Private Sub Form_Unload(Cancel As Integer) 'Set Report = Nothing
Set rs = Nothing
Set conn = Nothing
Unload Form2
End Sub
上面介绍了在VB中使用水晶报表进行报表开发的一种方法,该方法简单易用,适合初学者上手。
大家熟悉以后,还可以继续学习Crystal Report提供的API函数(Lib库Crpe32.dll)进行水晶报表开发,可以获得更大的灵活性。
(完)。