VB中水晶报表使用[推荐五篇]

时间:2019-05-12 13:36:51下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《VB中水晶报表使用》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《VB中水晶报表使用》。

第一篇:VB中水晶报表使用

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

VB中水晶报表使用

第一步:

在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 = “rptPr1.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中使用水晶报表进行报表开发的一种方法,该方法简单易用,适合初学者上手。

[ 结 束 ]

VB.NET中使用水晶报表总结

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

水晶报表是一个优秀的报表开发工具,本人在开发通用管理系统的时候,所有报表都使用水晶报表,其简单、易用和强大的功能令笔者倍加喜爱,现将水晶报表使用手记呈现给大家。

一、在使用自带的水晶报表时,请注册,否则只能使用30次

二、使用CrystalReportViewer进行预览

CrystalReportViewer控件允许在应用程序中查看 Crystal Report。ReportSource 属性用于设置要查看哪个报表。该属性设置之后,报表显示在查看器中。报表源可以是ReportDocument、报表文件的路径,也可以是强类型报表。

1.打开“工具箱”,并将一个 CrystalReportViewer 拖到窗体上,我们命名为rptVew。

2.通过拖放操作将 Windows 窗体查看器调整到希望的大小并将其移动到所需位置。

3.当运行应用程序时,报表将显示在查看器中。

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

三、创建新报表

1.指向“添加”,单击“添加新项”。

2.在“添加新项”对话框中,从“模板”区域选择 Crystal Report,将报表命名为rptClient,单击“打开”。

3.在 Crystal Report 库中,选择下列选项之一:

· 使用报表专家 — 指导您完成报表的创建过程,并将您的选择添加到 Crystal Report Designer。

· 作为空白报表 — 打开 Crystal Report Designer。

· 来自于现有的报表 — 创建新报表,它与指定的另一报表设计相同。

注意 Crystal Report 库包含许多专家,可以指导您完成数个特定类型报表的创建工作。您可能希望使用专家来创建最初的报表,以确定哪种报表构造方法适合您的需要。

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

4.单击“确定”按钮。

如果选择使用“报表专家”,便会出现“报表专家”对话框,并带有数据资源管理器。为每个文件夹选择所需数据,完成“报表专家”选项卡界面上的操作,然后单击“完成”来访问 Crystal Report Designer 和您的报表

四、是否需要动态设置数据源?

Crystal Reports 通过数据库驱动程序与数据库连接。每个驱动程序都被编写为可处理特定数据库类型或数据库访问技术。

拉和推模型

为了向开发人员提供最灵活的数据访问方法,Crystal Reports 数据库驱动程序被设计为可同时提供数据访问的拉模型和推模型。

拉模型

在拉模型中,驱动程序将连接到数据库并根据需要将数据“拉”进来。使用这种模型时,与数据库的连接和为了获取数据而执行的 SQL 命令都同时由 Crystal Reports 本身处理,不需要开发人员编写

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

代码。如果在运行时无须编写任何特殊代码,则使用拉模型。

推模型

相反,推模型需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集,并且将该对象传递给报表。该方法使您可以将连接共享置入应用程序中,并在 Crystal Reports 收到数据之前先将数据筛选出来。

四、从 ADO.NET 数据集制作报表

从数据库创建数据集对象

1.在项目中新建一个架构文件:

a.在解决方案资源管理器中,右击项目名,指向“添加”,然后单击“添加新项”。

b.在“添加新项”对话框的“类别”区域,展开文件夹,然后选择“数据”。

c.在“模板”区域选择“数据集”。

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

d.接受默认名称 DataSet1.xsd。

这就创建了一个新的架构文件(DataSet1.xsd),以后将用它来生成强类型数据集。该架构文件将显示在 ADO.NET 数据集设计器中。

2.指定数据库位置:

a.在服务器资源管理器中,右击“数据连接”并选择“添加连接”。

b.在“数据链接属性”对话框中,单击“提供程序”选项卡,然后选择一个提供程序(例如 Microsoft OLE DB Provider for SQL Server)。

c.单击“连接”选项卡,然后指定您的数据库所在位置。在所需位置输入服务器和登录信息。

d.单击“确定”按钮。

此时,您的数据库及其表和字段就出现在服务器资源管理器的“数据连接”节点下面。

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

3.在解决方案资源管理器中,双击 DataSet1.xsd(如果它尚不是活动视图)。

DataSet1.xsd 现在应显示在“数据集”选项卡中。

4.若要为数据集建立架构,请将需要的表从服务器资源管理器中拖动到 DataSet1.xsd 的“数据集”选项卡上。

5.单击“保存 DataSet1.xsd”来保存“Dataset1.xsd”文件。

6.在“生成”菜单上,单击“生成”为项目生成数据集对象。

ADO.NET 数据集对象提供数据的描述,从它可以向 Crystal report 添加表。使用 Crystal Report Designer 中的“数据库专家”从 ADO.NET 数据集对象添加表。

请在使用“报表专家”创建新报表时调用“数据库专家”。或者,要从一个已经使用 ADO.NET 建立好的报表中访问“数据库专家”,请在 Report Designer 中右击,指向“数据库”,然后单击“添加/删除数据库”。

将报表连接到 ADO.NET 数据集对象

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

1.在“数据库专家”中,展开“项目数据”文件夹。

2.展开“ADO.NET 数据集”文件夹。

3.选择所需数据集对象。

例如,如果当时使用的是从项目“WindowsApplication1”的架构文件“DataSet1.xsd”中生成的数据集对象,则应该选择“WindowsApplication1.Dataset1”。

4.选择要向报表中添加的表,和使用其他数据源一样。

五、动态改变数据源的代码

Dim dsDataSet As New DataSet()

Dim oRpt As New rptClient()'已建立的报表rptClient

请读者自行填充数据集dsDataSet

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

'使用“报表引擎”对象模型将填充的数据集,传递给报表

oRpt.SetDataSource(dsDataSet.Tables(0))

' 将带有数据的报表对象绑定到 Windows 窗体查看器,rptVew(CrystalReportViewer控件)

rptVew.ReportSource = oRpt

注意 FillDataSet 方法可连接到指定的数据库,提取数据,然后断开数据库连接。如果您希望将数据库中的多个表添加到报表中,请使用 SQL JOIN 语句将这些表联接在一起;然后在 FillDataSet 方法中指定一个结果表

六、创建主从报表

在报表中,有许多报表是主从表结构,比如订单与订单商品明细,订单是一个表中的一条记录,而分录是另一个表中的多条记录,两个表通过一个字段关联起来,这种报表可利用其分组功能实现,1.新建一个工程

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

2.往FORM1中添加一个CrystalReportViewer控件

3.在服务噐资源管理器中连接到SQL SERVER 2000上的Northwind数据库

4.添加一个数据集DataSet1,将服务器资源管理器中的Orders和 Order Details加入到数据集中。

5.添加一个水晶报表,使用报表专家,在项目数据中选择“ADO.NET数据集”,插入表Orders和 Order Details,“链接”中是关联字段的链接,在“字段”中选择要显示的主表和明细表的字段,组中选择分组依据为Orders表OrdersID字段,总计,图表,选择(可进行筛选),样式(可设置报表标题),可自行设置。设置完后,点击完成。

6.在报表设计器中调整需要显示的字段的位置、宽度等。

7.在窗口中添加代码。

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

Dim oRpt As New CrystalReport1()

Dim dsDataSet As New Dataset1()

Dim CN As New Data.SqlClient.SqlConnection(“data source=PMSERVER;initial catalog=Northwind;user id=sa;password=sa”)

CN.Open()

Dim daOrders As New Data.SqlClient.SqlDataAdapter(“select * from orders”, CN)

daOrders.Fill(dsDataSet, “orders”)

Dim daDetails As New Data.SqlClient.SqlDataAdapter(“select * from [Order Details]”, CN)

daDetails.Fill(dsDataSet, “Order Details”)

'使用“报表引擎”对象模型将填充的数据集,传递给报表

oRpt.SetDataSource(dsDataSet)

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

CrystalReportViewer1.ReportSource = oRpt

End Sub

8、运行程序

七、用程序改变报表中text的文本

代码如下:

Dim GetTextObject As TextObject

' 按名称获取 ReportObject,将其转换为 TextObject,并返回此对象。

GetTextObject = orpt.ReportDefinition.ReportObjects.Item(“text13”)

GetTextObject.Text = “XXXX系统”

总结:水晶报表具有非常强大的功能,还可进行导出WORD、EXCEL、RTF等文件,还可生成复杂、漂亮图表,是进行WEB和Windows报表开发的利器

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

使用5种不同的方法加载水晶报表(Windows 窗体)2008年01月19日 星期六 下午 04:081、用作 viewer.reportsource 的5种类型的报表:

-使用 Report 名(通过文本路径)使用非类型的 Report 组件(通过文本路径和 ReportDocument reportdocument1)使用强类型的 Report 组件()(通过 ReportDocument world_Sales_Report1)

注:Report 组件即“工具箱”-〉“组件”-〉“ReportDocument”

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

2、代码简介:

-使用 Report 名(通过文本路径)CrystalReportViewer1.ReportSource = “C:Crystalcrnetvbnet_win_simplepreviewreportWorld Sales Report.rpt” '------使用非类型的 Report 组件(通过文本路径和 ReportDocument reportdocument1)Dim reportdocument1 As New CrystalDecisions.CrystalReports.Engine.ReportDocument()reportdocument1.Load(“C:Crystalcrnetvbnet_win_simplepreviewreportWorld Sales Report.rpt”)CrystalReportViewer1.ReportSource = reportdocument1

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

'------使用强类型的 Report 组件()(通过 ReportDocument world_Sales_Report1)

CrystalReportViewer1.ReportSource = world_Sales_Report1

精心收集

精心编辑

精致阅读

如需请下载!

第二篇:有关水晶报表的使用经验和总结(范文模版)

有关水晶报表的使用经验和总结

Asp.Net(webform)中使用水晶报表

这篇文章教你如何在.Net Web应用中使用水晶报表,也可以让你在学习过程中少走一些弯路。为了得到最好的效果,读者最好需要有一些基础的Asp.Net访问数据库的知识以及使用VS.Net的开发经验。

简介

水晶报表可以由很多的方法得到,其中一个就是使用VS.Net来创建,它提供了非常丰富模型以使我们能够在运行时操作属性和方法。如果你正在使用VS.Net开发.Net程序,那么你就不需要再安装其它软件了,因为他已经内嵌在VS.Net中了。

优点:

VS.Net水晶报表有下面一些主要的优点:

快速的报表开发

能够导出成为复杂的交互性图表

可以与其它控件一起在WebForm中使用

能够动态地将报表导出成为.pdf,.doc,xls,html,rtf等多种格式

结构:

一些组件组成了水晶报表的二层结构,需要的Web应用有:

客户端 :

客户端仅需要一个可以访问嵌入aspx页面报表的游览器就可以了

服务器 :

-水晶报表引擎(Crystal Report Engine(CREngine.dll))

通过它可以完成一些任务,如在报告文件中合并数据,转换报告为其它格式等。也正是因为报告引擎的作用,才可以将Asp.Net中的水晶报表转换成为普通HTML格式

-水晶报表设计器(Crystal Report Designer(CRDesigner.dll))

水晶报表就是在设计器中创建的,在设计器中你可以设计标题,插入数据,公式,图表,子报表等。

Data Source

.rpt文件取得数据库的方法取决于你方法的选择,你能选择让水晶报表自己选择数据而不使用任何代码或者也可以选择手动的组装DataSet,然后再将其传送到报表文件。

-水晶报表查看控件(Crystal Report Viewer web form Control(CRWebFormViewer.dll))

水晶报表查看控件是一个WebForm控件,可以将它看成是一个在.aspx页面中存放报表的容器。

注意:在一些复杂的操作中,报表服务器与Web服务器可能不在同一物理主机上,Web服务器将HTTP请求传送到报表服务器上去。水晶报表也可以当做WebService来执行。

执行模式

水晶报表取数据可以使用下面的方法实现:

-Pull 模式:

被请求时,水晶报表直接根据指定的驱动连接数据库然后组装这些数据。

-Push 模式 :

此时开发表不得不自己编写代码连接数据并组装DataSet,同时将它传送至报表。在些这种情况下,通过使用连接共享以及限制记录集合的大小,可以使用报表性能最大化。

报表类型:

水晶报表设计器能够直接包含报表至工程也能够使用独立的报表对象。

-Strongly-typed 报表 :

当你将报表文件加入到项目中去时,它就变成了一个了“ strongly-typed“报表。在这些情况下,你将拥有直接创建报表的对象的权力,这将减少一些代码并且能够提供一些性能。

-Un-Typed 报表 :

这里的报表并不直接包含在项目中,因此称为'un-typed’ 报表。在这种情况下,你不得不使用水晶报表的”ReportDocuemt“对象建立一个实例,并且”手动“地凋用报表。

其它注意事项

尽管水晶报表查看器拥有一些很酷的功能,如缩放、页面导航等。但是他不提供打印功能,你不得不调用游览器的打印功能。

VS.Net中的水晶报表如果没有注册,那么它只能使用30次,30次后,”保存“功能就不能再使用了。为了避免这个,你不是不在 http://(Hyper Text Markup Language – 3.2 or 4.0 compliant)

4.5.RTF(Rich Text Format)使用Pull模式导出报表

当导出使用Pull模式创建的文件时,水晶报表准确地打开所需要的数据,下面是执行导出功能的代码:

C#代码: VB.Net代码: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click

Dim myReport As CrystalReport1 = New CrystalReport1()

'注意:这里我们建立一个strong-typed的水晶报表实例。

Dim DiskOpts As CrystalDecisions.Shared.DiskFileDestinationOptions = New CrystalDecisions.Shared.DiskFileDestinationOptions()

myReport.ExportOptions.ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile

' 导出成为其它文件时也需要这个选项

' 如Microsoft Exchange, MAPI等.myReport.ExportOptions.ExportFormatType [Shared].ExportFormatType.PortableDocFormat

= CrystalDecisions.'这里我们导出成为.pdf格式文件,你也能选择上面的其它类型文件

DiskOpts.DiskFileName = “c:Output.pdf”

'如果你不指定确切的目录,那么文件就会保存到[Windows]System32目录中去了

myReport.ExportOptions.DestinationOptions = DiskOpts

'水晶报表文件不包含直接的FileName属性,因此你不能直接指定保存的文件名

'所以你不得不使用DiskFileDestinationOptions对象,设置它的DiskFileName属性

'为你想要的路径,最后将水晶报表的DestinationsOptions属性指定为上面的DiskFileDestinationOption

myReport.Export()

'上面的代码将完成导出工作。End Sub

使用PUSH模式导出水晶报表

当导出的报表是由PUSH模式建立的时,第一步就是通过编程建立连接并组装DataSet,设置报表的的SetDataSource属性。再下面的步骤就有Pull模式一样的了。[/HTML].NET环境下水晶报表使用总结

水晶报表是一个优秀的报表开发工具,本人在开发通用管理系统的时候,所有报表都使用水晶报表,其简单、易用和强大的功能令笔者倍加喜爱,现将水晶报表使用手记呈现给大家。

一、在使用自带的水晶报表时,请注册,否则只能使用30次 水晶报表注册码 注册号:6707437608 密码:AAP5GKS0000GDE100DS

二、使用CrystalReportViewer进行预览

CrystalReportViewer控件允许在应用程序中查看 Crystal Report。ReportSource 属性用于设置要查看哪个报表。该属性设置之后,报表显示在查看器中。报表源可以是ReportDocument、报表文件的路径,也可以是强类型报表。1.打开“工具箱”,并将一个 CrystalReportViewer 拖到窗体上,我们命名为rptVew。

2.通过拖放操作将 Windows 窗体查看器调整到希望的大小并将其移动到所需位置。

3.当运行应用程序时,报表将显示在查看器中。

三、创建新报表

1.指向“添加”,单击“添加新项”。

2.在“添加新项”对话框中,从“模板”区域选择 Crystal Report,将报表命名为rptClient,单击“打开”。

3.在 Crystal Report 库中,选择下列选项之一:

·

使用报表专家 — 指导您完成报表的创建过程,并将您的选择添加到 Crystal Report Designer。

·

作为空白报表 — 打开 Crystal Report Designer。

·

来自于现有的报表 — 创建新报表,它与指定的另一报表设计相同。

注意

Crystal Report 库包含许多专家,可以指导您完成数个特定类型报表的创建工作。您可能希望使用专家来创建最初的报表,以确定哪种报表构造方法适合您的需要。4.单击“确定”按钮。

如果选择使用“报表专家”,便会出现“报表专家”对话框,并带有数据资源管理器。为每个文件夹选择所需数据,完成“报表专家”选项卡界面上的操作,然后单击“完成”来访问 Crystal Report Designer 和您的报表

四、是否需要动态设置数据源?

Crystal Reports 通过数据库驱动程序与数据库连接。每个驱动程序都被编写为可处理特定数据库类型或数据库访问技术。

拉和推模型

为了向开发人员提供最灵活的数据访问方法,Crystal Reports 数据库驱动程序被设计为可同时提供数据访问的拉模型和推模型。

拉模型

在拉模型中,驱动程序将连接到数据库并根据需要将数据“拉”进来。使用这种模型时,与数据库的连接和为了获取数据而执行的 SQL 命令都同时由 Crystal Reports 本身处理,不需要开发人员编写代码。如果在运行时无须编写任何特殊代码,则使用拉模型。推模型

相反,推模型需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集,并且将该对象传递给报表。该方法使您可以将连接共享置入应用程序中,并在 Crystal Reports 收到数据之前先将数据筛选出来。

四、从 ADO.NET 数据集制作报表 从数据库创建数据集对象

1.在项目中新建一个架构文件:

a.在解决方案资源管理器中,右击项目名,指向“添加”,然后单击“添加新项”。

b.在“添加新项”对话框的“类别”区域,展开文件夹,然后选择“数据”。

c.在“模板”区域选择“数据集”。

d.接受默认名称 Dataset1.xsd。

这就创建了一个新的架构文件(Dataset1.xsd),以后将用它来生成强类型数据集。该架构文件将显示在 ADO.NET 数据集设计器中。

2.指定数据库位置:

a.在服务器资源管理器中,右击“数据连接”并选择“添加连接”。

b.在“数据链接属性”对话框中,单击“提供程序”选项卡,然后选择一个提供程序(例如 Microsoft OLE DB Provider for SQL Server)。

c.单击“连接”选项卡,然后指定您的数据库所在位置。在所需位置输入服务器和登录信息。

d.单击“确定”按钮。

此时,您的数据库及其表和字段就出现在服务器资源管理器的“数据连接”节点下面。

3.在解决方案资源管理器中,双击 Dataset1.xsd(如果它尚不是活动视图)。

Dataset1.xsd 现在应显示在“数据集”选项卡中。

4.若要为数据集建立架构,请将需要的表从服务器资源管理器中拖动到 Dataset1.xsd 的“数据集”选项卡上。

5.单击“保存 Dataset1.xsd”来保存“Dataset1.xsd”文件。

6.在“生成”菜单上,单击“生成”为项目生成数据集对象。

ADO.NET 数据集对象提供数据的描述,从它可以向 Crystal report 添加表。使用 Crystal Report Designer 中的“数据库专家”从 ADO.NET 数据集对象添加表。

请在使用“报表专家”创建新报表时调用“数据库专家”。或者,要从一个已经使用 ADO.NET 建立好的报表中访问“数据库专家”,请在 Report Designer 中右击,指向“数据库”,然后单击“添加/删除数据库”。

将报表连接到 ADO.NET 数据集对象

1.在“数据库专家”中,展开“项目数据”文件夹。

2.展开“ADO.NET 数据集”文件夹。

3.选择所需数据集对象。

例如,如果当时使用的是从项目“WindowsApplication1”的架构文件“Dataset1.xsd”中生成的数据集对象,则应该选择“WindowsApplication1.Dataset1”。

4.选择要向报表中添加的表,和使用其他数据源一样。

五、动态改变数据源的代码

Dim dsdataSet As New DataSet()

Dim oRpt As New rptClient()

'已建立的报表rptClient

请读者自行填充数据集dsdataSet

'使用“报表引擎”对象模型将填充的数据集,传递给报表

oRpt.SetDataSource(dsdataSet.Tables(0))

' 将带有数据的报表对象绑定到 Windows 窗体查看器,rptVew(CrystalReportViewer控件)

rptVew.ReportSource = oRpt 注意

FillDataSet 方法可连接到指定的数据库,提取数据,然后断开数据库连接。如果您希望将数据库中的多个表添加到报表中,请使用 SQL JOIN 语句将这些表联接在一起;然后在 FillDataSet 方法中指定一个结果表

六、创建主从报表

在报表中,有许多报表是主从表结构,比如订单与订单商品明细,订单是一个表中的一条记录,而分录是另一个表中的多条记录,两个表通过一个字段关联起来,这种报表可利用其分

组功能实现,1.新建一个工程

2.往FORM1中添加一个CrystalReportViewer控件

3.在服务噐资源管理器中连接到SQL SERVER 2000上的Northwind数据库

4.添加一个数据集Dataset1,将服务器资源管理器中的Orders和 Order Details加入到数据集中。

5.添加一个水晶报表,使用报表专家,在项目数据中选择“ADO.NET数据集”,插入表Orders和 Order Details,“链接”中是关联字段的链接,在“字段”中选择要显示的主表和明细表的字段,组中选择分组依据为Orders表OrdersID字段,总计,图表,选择(可进行筛选),样式(可设置报表标题),可自行设置。设置完后,点击完成。6.在报表设计器中调整需要显示的字段的位置、宽度等。7.在窗口中添加代码。

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load

Dim oRpt As New CrystalReport1()

Dim dsdataSet As New Dataset1()

Dim CN As New Data.SqlClient.SqlConnection(“data source=PMSERVER;initial catalog=Northwind;user id=sa;password=sa”)

CN.Open()

Dim daOrders As New Data.SqlClient.SqlDataAdapter(“select * from orders”, CN)

daOrders.Fill(dsdataSet, “orders”)

Dim daDetails As New Data.SqlClient.SqlDataAdapter(“select * from [Order Details]”, CN)

daDetails.Fill(dsdataSet, “Order Details”)

'使用“报表引擎”对象模型将填充的数据集,传递给报表

oRpt.SetDataSource(dsdataSet)

CrystalReportViewer1.ReportSource = oRpt

End Sub

8、运行程序

七、用程序改变报表中text的文本 代码如下:

Dim GetTextObject As TextObject

' 按名称获取 ReportObject,将其转换为 TextObject,并返回此对象。

GetTextObject = orpt.ReportDefinition.ReportObjects.Item(“text13”)

GetTextObject.Text = “XXXX系统”

总结:水晶报表具有非常强大的功能,还可进行导出WORD、EXCEL、RTF等文件,还可生成复杂、漂亮图表,是进行WEB和WINDOWS报表开发的利器。

第三篇:基于VB实现复杂报表设计

陕西理工学院毕业设计

基于VB实现复杂报表设计

(陕西理工学院 物理系 电子信息科学与技术07级2班,陕西 汉中 723000)

[摘要] 本文介绍了报表设计的几种方法和以往报表设计所存在的问题,并以实例介绍自动生成复杂报表的方法。实例基于VB软件开发,并以word为模板,通过调用access数据库数据自动生成复杂报表。

[关键词]VB;数据库;Word;复杂报表

The Design Of Complex Reports Based VB

(Grade 2007,Class2, Major electronical information and technology,Physics Dept, Shaanxi University of Technology,Hanzhong 723000,Shaanxi)

[Abstract] This paper reports detailed description of several common methods, previous reports of the existence of the problem, and makes use of example to achieve a complex reporting by using of software.The example based on VB software and used word template, to achieve the common complex reporting software through reallocating database.[Key words] VB;Database;Word;Complex Statements

陕西理工学院毕业设计

1引言

报表是人们在日常生活中对某类相关信息进行集中处理的重要手段,是企业信息化不可缺少的部分。报表在各行各业中应用广泛,是信息浏览、分析和打印的有力工具。传统报表系统均以国外简单报表模型为基础设计,不能适应复杂报表的开发。特别是在处理复杂数据源报表时,常常需要编写代码准备数据或进行子报表拼接才能实现。1.1传统报表系统存在的问题

目前,国内外的报表系统种类繁多,功能界面各具特色,对这些报表系统的比较研究,有助于我们设计出更好的报表系统。国外的报表系统的技术都比较成熟,适合制作样式简单的报表,但一般都为高端产品,价格不菲,并且在处理具有强烈中国特色的报表时,国外产品不仅报表处理能力相当不适应,甚至某些技术也略显落后,例如部分产品不能稳定地在UNIX上部署,只能支持IE浏览器,统计图输出仍采用原始的CGl方式等。国内的传统报表系统更适合制作复杂的中国式报表,在报表设计和价格等方面国内报表系统也具有一些优势,但国内的报表系统在服务质量和产品本身的品质等方面还存在着一些不足和缺陷,有待进一步的改进和完善。无论是国外的高端报表系统,还是国内的传统报表系统,每一种报表系统都有各自的优点和缺点,都有各自擅长的领域,在实际工作中应该根据需要选择合适的报表系统。面对日益复杂的报表开发需求,尤其是复杂的中国式报表,这些报表系统或多或少都有些力不从心,其主要问题表现在以下三个方面:

(1)复杂数据源的处理能力不足。报表需要从复杂的数据源或者多个不同类型的数据源中获得数据,获得的数据还可能需要统计,格式转换或其他处理,这些需求都是传统报表系统难于实现的。

(2)报表的可维护性差。传统的报表系统生成报表的种类固定,使用方便,但很多软件系统无论在实施还是在维护阶段,报表都会进行频繁的新增和修改,而传统的报表系统缺乏无编码定制能力,系统扩展网难。一旦用户对报表样式的需求发生改变,就会给软件维护带来许多不必要的麻烦。

(3)报表保存格式的通用性较差。报表保存格式不统一,保存格式理解困难,各种报表工具各自为政,报表模板无法兼容,行业也没有形成统一的标准,一旦用户选定了某一报表工具就意味着要一直使用。如果不幸选择失误,已经做的工作都要重新再来。

总之,利用传统的报表系统制作报表维护量相当大,一个需求对应一个报表文件,不同

陕西理工学院毕业设计 的组合要求制作大量的报表文件,使得开发过程变得极为繁琐,难以实现用户的需求。在设计复杂数据源的报表时,或者需要人工转换数据格式,或者要编写大量代码将多个数据源运算成为一个数据源再使用,或者使用拼接子报表的方式来实现,但都没有从根本上解决问题,严重影响报表的设计和使用效率。因此如何快速制作符合多层结构特点的复杂数据源报表,减轻开发工作量,已经成为报表系统开发的重要问题。

在计算机出现之前,数据需要以纸制文件等形式保存,数据处理是手工进行的,报表的编制也是手工实现的。随着计算机的广泛应用,人们开始使用计算机及计算机软件实现数据处理,使用数据库管理系统来管理数据,使用应用程序来完成具体的业务操作,报表的编制也开始使用软件来实现。完成报表编制工作的软件程序称为报表系统或者报表工具。报表系统的产生改变了报表编制的流程、方法以及编制手段。

报表是信息管理系统中各种数据信息的最终输出结果,是其重要的组成部分。在信息管理系统的开发过程中,软件设计人员常常需要设计大量的报表,其中相当一部分报表的结构比较类似,需要软件设计人员逐一定义每一个报表的报表对象、数据模型、显示格式等属性,同时还可能对数据存储、导入和导出等操作带来诸多不便,这些繁琐的重复性工作常常花费软件设计人员、操作人员、维护人员大量的精力和时间,影响系统的开发、使用效率。同时,报表还是信息管理系统中变化性很强的部分。应用系统交付用户后,随着时间的推移,用户可能需要新的报表,报表的格式、报表的数据要求都有可能发生变化,用户的各种各样的报表要求,仅依靠应用系统预先提供的报表是很难实现的。

从报表系统的发展历史来看,在应用系统进入数据共享的时候,比较专业的报表系统或控件就出现了,并且一直沿用至今。这些工具的理论模型和需求都出自于国外的需求,这种模型和需求比较符合国外用户的使用习惯,比较适合设计制作样式非常规整,没有表格线,没有斜线表头和分层分组的简单报表。然而中国人的报表习惯与国外用户存在很大差别,中国的报表也比国外的报表复杂许多。报表是由“报’’和“表"两部分组成,“报”指数据的汇总统计,即将数据从数据库中取出按一定规则运算统计后排列。“表”则指格式,数据需要放在单元格中,才能清楚定位,体现数据之间的层次与对应关系。目前市场上的报表系统大致分为两类,一类基本上能把数据库的数据取出来运算排列制作出动态的报表。但其格式设计功能不好,一般是采用控件拖放的方式编辑报表,靠一个个矩形边线重合对齐绘制表格,一条直线要拼接多条线段,而且还和分辨率相关,打印出来不整齐。还有一类仿制Excel的产品,合并单元格、添加边框非常方便,可以快捷地设计出一个复杂格式的报表。但它们的缺点是数据处理能力太弱,除了简单的格内运算外,与数据库打交道的过滤、分组等统计运算都需要编程实现。

中国报表最困难的地方是数据统计。中国报表具有的多数据源、整表规则分片、不完全划分、跨行组运算及独立格间运算、行列对称等特征,是传统报表系统无法满足的,常常导致要求编写代码准备数据或拼接子报表才能完成一个复杂报表的制作。表样格式复杂也是中国报表比较麻烦的地方,中国报表均要求有整齐的表格线,多层表头层次分明。业内有名的报表系统一般采用控件式拖拽的绘制方案,制作表格非常烦琐,且还与分辨率相关,屏幕与打印不一致,而中国报表对打印样式要求向来很高。中国报表还会有填写的需求,前端需要支持各种填写控制,如编辑风格、自动计算、合法性校验等;填写好的数据能够方便地写入数据库以进行下一步的统计汇总。而很多报表软件不支持填写能力,一般的填报解决方案都不能自动处理数据入库的问题,导致相应的编程工作量仍然很大。1.2国内外研究现状

大部分通用软件领域,国外产品都要相对优秀。早期的报表系统软件是由国外的公司和研究机构设计实现的,适合制作样式非常规整,没有格线,表头简单的国外报表。国外的报表系统都具有各自的原创技术,又经过了多年的发展和完善,其技术相对都比较成熟,但是国外的报表系统在报表样式绘制方面的能力比较弱,在价格上一般都比较昂贵,所以经常被称作高端产品。例如挪威QuSoR公司专门为Delphi编写的QuickRepon报表组件,使用

陕西理工学院毕业设计 QuickReport可以迅速设计出符合西方人习惯的报表,从功能和设计上来说,不失为一个较好的报表设计工具,但对于报表设计的灵活性,及在程序编译完毕后用户对报表的可修改性等方面还远远不能满足用户的需要。

国外典型报表系统中,著名的有Excel,Cwstal Report,Fo彻ula One等,随着.NET技术的不断发展,近年来国外已经出现了一些基于.NET环境的报表系统,例如MicrosoR的Reporting Services技术,Ⅵsual Studio 2005集成的报表解决方案,C搿stal Reports f1叫Visual Studio.NET,Developer Express公司开发的X仃aReports报表组件和ComponentOne公司开发的C 1 Reports报表组件等等。其中MicrosoR的Reportillg Services技术是基于服务器的报表解决方案,可以用来创建和管理包含关系数据源和多维数据源中的数据的表格、矩阵、图形和自由格式的报表,并可通过网络连接来查看和管理报表。Reporting Services在报表的制作、分发和报表数据的安全性等方面都有很好的表现,功能比较全面,但是需要微软众多企业级解决方案的支持,并且价格相当昂贵。

国内的报表系统主要是使用Java和Visual C++设计实现的传统报表系统,传统报表系统是指一些主要以条带式设计为基础的开源软件以及国内的一些仿制产品。这些报表系统的数学模型都是基于SQL/OLAP理论设计的,虽然不断地进行改进,但根本处理方案并没有本质的变化,远远不能满足国内复杂报表的制作需求。近年来不断推出的新版本以及新报表系统都只是在技术上改进,如从C/S移植到B/S、支持JaVa等,而理论模型仍是原来的传统方式,所以仍然算是传统报表系统。传统报表系统最显著的特征是主编辑画面呈条带状,以模拟SQL中的seIect和Group运算;大部分报表系统采用繁琐的拖拽式编辑(有个别报表系统开始采用方便的表格式);交叉表要采用专门的类OLAP模型处理,样式和运算都比较死板。

国内比较有名的报表系统基本上都是Java报表系统,主要有用友华表(Cell)和润乾报表等。润乾报表是一个功能非常强大的纯Java报表产品,各方面都很出色,其新一代报表模型采用了革命性的多源分片、不规则分组、动态格间运算、行列对称等技术,能设计实现很多原来传统报表系统中很复杂,甚至很难实现的报表。但是由于润乾报表设计方式完全依赖手写表达式,对于没有编程基础的普通用户来说,学习使用润乾报表的难度较大。1.3常见的典型报表工具及其介绍

目前常见的典型报表工具中,著名的有Excel,UniversalForms,Oracle9i Reports,Formula One等,国内也推出了许多报表工具。对现有报表工具的比较研究,有助于我们设计出更好的报表工具。1.3.1 Excel Excel是历史悠久的电子表格程序之一,功能强大。许多后来出现的Windows报表系统均受其影响,甚至在功能和界面上加以模仿。Excel具有如下特点:

(1)可视化界面:Excel提供工作簿和工作表,一个工作簿包括若干张工作表,一张工作表即是一张报表。每张工作表由若干单元格组成,每个单元格可以单独操纵:设计单元格的数据格式,定义数据公式等。对报表作出修改后,可以立即看到修改效果;

(2)丰富的格式支持:Excel报表中可以包括文字,数字,图形等多种内容;提供文字的字体大小、颜色,数字的显示格式等格式控制;

(3)丰富的数据处理功能:提供多种数据处理函数:数据库函数、日期与时间函数、工程函数、财务函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数;

(4)支持多种数据源,可访问的数据库包括: Microsoft SQL Server OLAP Services、Microsoft Access 2000、dBASE、Microsoft FoxPro、Microsofl Excel、Oracle、Paradox、陕西理工学院毕业设计 SQL Server以及文本文件数据库,此外,还可以使用ODBC驱动程序或数据源驱动程序以获取其他类型数据库中的信息。

(5)WEB发布支持

Excel支持将报表放置到Web页上,用户不需要在计算机上安装Excel就可以访问报表。(6)支持交互式报表

如果希望用户可以与报表中的数据进行交互,则可以将数据设置为交互式。在交互式报表中,用户可以进行以下操作:筛选,输入新值以进行计算或汇总和分析数据。

(7)提供编程环境

EXcel提供了Visual Basic for Applications(VBA)和Ⅵsual Basic编程环境,同时支持OLE。用户可以使用VBA编写自定义函数,实现对已有数据处理函数库 的扩充,满足实际需要,但有时编程相对比较复杂。1.3.2 Crystal Report Crystal Report是Crystal Decisions公司推出的比较著名的报表系统,使用Crystal Report是一种大型报表系统常用和推荐的解决方案。它能够实现对数据的检索、分组、分析,并把分析结果以表格的方式展现给用户,为用户解决现实中各种各样的商业问题。与其他的报表创建和分析软件相比,Crystal Report软件具有稳定性、可伸缩性以及应用平台广泛等优点。Crystal Report不仅有功能强大的Java版的Crystal Report报表引擎,而且也有直接集成到了Visual Studio开发环境当中来使用的Crystal Report for visual Studio.NET,开发人员可以从任何项目访问报表编辑器,完成显示、统计、分组和插入图表等多种操作,它也允许和各种主要的Java集成开发环境集成在一起。Crystal Report主要具备以下一些功能:

(1)形式多样的内容创建:允许用户添加图表、下拉式菜单、警示、参数提示以及超链接,并将报表转化为引入注目的交互式文件或Web内容,使用标志、图画、形状和色彩来定制报表。而且内置了广泛的公式,使得开发人员可以对于报表格式、综合业务逻辑和数据进行全面的控制;

(2)支持多数据源:可以直接编辑SQL,以便不受限制地控制数据库连接。数据源包括XML,OLAP或其它相关的内容。通过在Microsoft Excel和Access中的Crystal Reports Add-in功能,用户可以利用现有的Microsoft数据创建报表;

(3)提供分析工具:Crystal Report提供趋势判断、促进入际关系和保留重要论据的工具。另外附属报表、公式、总计运算,以及可自定义的交叉标签提供了更进一步的分析能力;

(4)支持Web应用:利用Web的权限设置功能,Crystal Report让所有在不同平台和地点的用户都可以访问报表。Crystal Report与Report Streaming技术相结合,以最优化处理报表在线需求(即时)和Web报表排序次序的效能。

Crystal Report帮助开发者做出了大量的报表,它的功能也在不断地加强。但是,开发人员也经历了很多时刻,不仅仅是费劲地去画格子,摆位置,更发现很多报表,需要先做一个复杂的视图,甚至写程序准备数据;发现许多报表运行起来的效率会很低;发现有些报表很难做出来。另外,Crystal Report for Visual Studio.NET未注册版本功能可用。在此之后的Save Option将不能使用。为了使用全部的功能,你不得不为之付费。1.3.3 Fomula One 它是一个OLE ActiveX报表控制引擎,支持Excel电子表格的编辑与运行,Formuloone6以前为基于C/S环境,其后的版本(如Repert,SPreodsheet等)主要面向B/S环境。胡于进等(2004)在它的基础上设计新报表组件FIBOOKREPORT,其主要具有以下特点:

(1)可以嵌入到应用程序中提供报表功能,也可以独立使用;

(2)支持HTML格式输出:它包括一组API,能够将选定范围的表格输出到一个HTML文件中;

(3)内置计算器:具有强大的电子表格功能,且与Excel兼容;

陕西理工学院毕业设计(4)编程支持:Formula One包含了广泛而丰富的API函数,帮助开发者灵活自如地控制电子表格的制作,为程序员提供了便利的电子表格设计工具箱。

虽然,目前通用报表有了较大的发展,但是在实际应用中,既开源免费或价格便宜,又能满足用户要求通用报表系统能够简单灵活地实现连接数据源、设定报表样式等的报表很少,市场上的报表系统存在以下不足:

1.工作量大:企业的需求是动态、复杂、多变的。目前的报表系统中,出于数据的显示或打印格式都是由程序员根据客户需要直接在程序制作期间生成的。如果报表的科目稍有变化,都需重新编译程序发布,加重了程序员的维护工作量;

2。缺乏灵活性:目前的通用报表系统是不可以自定义取数据源与取函数或公式,而只能选择系统提供的有限的取数函数与公式来自定义报表,如果需要实现对这些取数函数或公式以外的数据资源的访问就十分不方便;

3.未实现跨平台连接多个数据源:目前的报表大部分只能实现连接单一目标数据源,未能实现跨平台连接多个数据源,即不能实现异构数据库。例如Excel,水晶报表等都只能连接多种数据源,但不能实现同时。

2在VB中利用word实现复杂报表

在数据库应用系统中开发word 文档自动生成程序,可以实现以下功能:文档自动生成;自动添加页眉页脚;目录自动生成;格式自动调整;文档格式大众化,便于传输与交流;对大文档、复杂表格处理具有明显优势:可依用户要求智能化地生成风格各异的文档等等。实践证明,在数据库应用系统开发中,用word文档自动生成程序取代传统的数据库报表输出,使得开发的数据库应用系统的报表处理大大改观,优点突出,很值得推广,本文就是基于word实现复杂报表的设计。2.1 VB中Word对象模型

在VB调用Word之前,首先要引进对象库,然后才能以Word为对象编程。引进Word对象库的方法是:在编程环境下,选择“工程”菜单,选中“引用”项,打开“引用”对话框,在“可用的引用”列表中选中“Microsoft Word11.0 Object Library”,即可在Word中引进对象库。

Visual Basic支持的Word对象集合直接对应于Microsoft Word中的各个元素。例如,Document对象代表了一个打开的文档,Bookmark对象代表了一个文档中的书签,而Selection对象则代表了在一个文档窗口窗格中的选定内容。在Word中,每一类元素(文档、表格、段落、书签、域等等)都可以用Visual Basic的对象来表示。要在Word中自动执行任务,可以使用这些对象的方法和属性。

主要Word对象有以下6个:(1)Application对象

当用户打开一个Word文档,也创建了一个Application 对象,它表示运行的应用程序。也可以把Application对象看成应用程序对象的容器,Application对象中包容了Word 的菜单栏、工具栏、Word命令等的相应对象以及文件对象等。菜单栏对象中包容了所有的菜单及菜单命令。工具栏对象中包容了各种命令按钮。文件对象中则包容了所有的文字、表格、图像等文件组成部分的相应对象。

用户可以利用Application对象的属性或方法来控制或返回应用程序范围内的特性、控制Word窗口的外观或调整Word对象模型的其它方面。例如Application.PrintPreview=True 将从视图状态切换到打印预览状态。

Application对象的属性也可以访问处于对象层次中较低级的对象,比如Windows集合(代表了当前所有打开的窗口)和Documents集合(代表了当前所有打开的文档)。用户可以通过一些属性,从对象层次中最高一级的Application 对象向下访问到较低级的对象(Document对象、Window对象、Selection对象等)。

(2)Document对象

陕西理工学院毕业设计 当用户在Word中打开或创建一个文件的同时,也创建了一个Document对象。在Word中,Document对象表示一个打开的文档,而且所有的Document对象都是Application对象的Documents集合的成员。几乎所有的操作都要调用Document对象本身或其内容,用户可以使用Document对象或Documents 集合的属性或方法来打开、创建、保存、启动或者关闭文件。

每一个Document对象都具有Characters、Words、Sentences和Paragraphs四个集合。可以使用语法Documents(index)来返回作为一个Document对象的任何打开的文档,index是该文件的名字或索引号。但是当用户添加或关闭多个文档时,某个特定文件的索引号会发生改变,所以最好使用文档的名字来对Documents集合中的Document对象进行索引。

要打开一个文档,可以使用open方法;要创建一个新文档,可以对Documents应用Add方法;要保存文档可以使用SaveAS方法或是Save方法;要关闭一个文件,可以对Document对象应用Close方法。可以使用Add方法来向文件中添加诸如表格、备注、注脚这样的对象。

要使一个文档成为活动文档,可以对Document应用Active方法启动它。具有焦点的文档称为活动文档,由Active-Document属性表示。使用Open方法打开的文档,或者使用Add方法创建的文档,都将成为用ActiveDocument属性表示的当前活动文档。

(3)Range对象

Range对象表示文件中的一块连续的区域。每一个Range对象都由一个起始字符位置和一个终止字符位置定义。这个连续范围可以小到只是一个插入点,大可到整个文档。在同一个文档中也可以定义多个Range对象。Range对象中的字符包含非打印字符,例如空格、回车符和段落标记。在确定Range对象后,就能够应用该对象的方法和属性来修改相应范围内的内容或格式。

可以通过使用Range方法在指定文档中创建一个Range对象。可以将Start和End参数设置为同一个数字,将创建一个不包含任何字符的Range,相当于一个插入点。也可以通过其它对象(例如Paragraph对象、Bookmark 对象、Character对象、Word对象、Sentences对象或Selction对象)的Range属性来返回一个Range对象。

使用Range对象的Text属性可以返回或设置这个Range对象中的内容或格式。

可以使用SetRange方法来设置或重新定义一个已经存在的Range对象。也可通过使用Range对象的Start 属性或MoveStart方法指定或重新定义Range 开始的位置,或是使用Range对象的End属性或MoveEnd方法指定或重新定义Range结束的位置。可以使用Bookmark、Selection或Range对象的Start和End属性来指定Range方法的Start和End参数。

(4)Selection对象

当用户想要自己的代码对选定内容做出响应或是改变选定内容,就可以通过Selection对象来完成任务。Selection对象可以在Application对象,Window对象,Pane对象中使用。Selection对象就像在Word对话中交互式工作时的插入点或当前选项。所以Selection对象可以收缩为插入点,也可以包括一个或几个字符和文件项目,甚至可以包括任何文档部分的内容。

用户可以在一个选定内容中控制操纵对象。

可以使用Selection属性来返回Selection对象,如果随同Application对象使用Selection属性,则该Selection对象表示活动的选定内容。如随同一个Windows对象或是Pane对象使用Selection属性,则返回一个在特定窗口或窗口窗格中Selection对象。

每个文件的每个窗口中都可以有Selection对象,但每个窗口中只能启动一个Selection对象,在任何时刻都只能有一个活动的Selection选项。

用户也可以通过MoveStart和MoveEnd方法,或者通过改变Selection对象的Start属性及End 属性的值来移动或扩展选定内容。用户也可以通过GoToNext方法、GoToPrevious方法或GoTo方法来移动选定内容。在一个文件窗口或窗格中只能有一个选定内容,因此用户也可以通过使用Select方法选择文档的另一个对象来移动选定内容。在使用Select方法

陕西理工学院毕业设计 之后,就可以使用Select属性返回一个Select对象。

(5)Find和Replacement对象

Find对象包含与“查找”和“替换”对话框(在“编辑”菜单中)里的选项有关的属性。可以使用Find和Replacement对象来查找并且替换文档中文字的特定范围。Replacement对象表示查找-替换操作的替换条件。Replacement对象的属性和方法对应于“查找”和“替换”对话框(在“编辑”菜单中)里的选项。

Find对象可以在Selection对象或Range对象中使用(根据Find对象是从Selection对象还是从Range对象返回的,查找操作也略有不同)。可以在Find对象中使用Replacement对象。

如果是在Selection对象中使用Find对象,那么当找到符合选择条件的文本后选定内容将会改变。如果是在Range对象中使用Find对象,选定内容不会改变,但是当找到符合选择条件的文本时范围会被重新定义。

(6)Table、Column、Row、Cell对象

word对象模型包含了表格对象,也包含了表格中各种不同元素的对象。

软件调试流程图

第四篇:VS2008完整水晶报表发布部署总结

VS2008水晶报表发布部总结

安装部署时,把水晶报表的msm打进去,注册到服务器 要部署使用 crystal reports for visual studio.net 2003 的程序; 首先:找到以下7个文件:

crystal_database_access2003.msm crystal_database_access2003_chs.msm crystal_managed2003.msm crystal_managed2003_chs.msm crystal_regwiz2003.msm vc_user_crt71_rtl_x86_---.msm vc_user_stl71_rtl_x86_---.msm

(你可以 c:program filescommon filesmerge modules 文件夹下找到)接着:在解决方案资源管理器中,右击安装项目,指向“添加”,然后单击“合并模块”。

在“添加模块”对话框中,选择上面的7个要添加到安装项目的合并模块,然后单击“打开”:

还有:打开解决方案-->右键点击 crystal_regwiz2003.msm 的属性,在“mergemouduleproperties”里的“license key”填入:aap5gks0000gde100ds(这个是你生成crystal report是用到的注册号的密码!)

一、安装运行时支撑文件

如果你安装了VS2008,那么可以找到如下目录:

C:Program FilesMicrosoft SDKsWindowsv6.0ABootstrapperPackagesCrystalReports10_5 此目录下有如下文件:

COPY到服务器上根据服务器CPU情况选择性地安装一下。

二、将WEB项目打包成安装程序

1.在WEB解决方案中新建一个项目,选择项如下:

2.右键点击项目名称,选择“视图”-“文件系统”

3.按下图操作:

4.设置项目的启动文件:

5.在项目名称上右击,按下图操作,选“项目输出”:

6.选“内容文件”后再“确定”:

7.按SHIFT+F6即可生成安装文件,可以在项目的目录下能找到如下结果文件:

Copy这个MSI文件到服务器上安装完就可以浏览了。

三、修补水晶报表的图标显示和打印功能

问题:如上所述,是可以浏览了,但是报表显示的工具栏上图标出不来:如下:

看到吗,小图标出不来。其它你再试试,打印也没法选打印机的。解决办法: 1.在自己开发的PC上找到如下目录:

C:WINDOWSMicrosoft.NETFrameworkv2.0.50727ASP.NETClientFilesCrystalReportWebFormViewer4 注意:CrystalReportWebFormViewer4中的4有可能与你的不一样,无所谓的。

2.将CrystalReportWebFormViewer4目录复制到你的WEB服务器上项目所在目录中,如: C:???aspnet_clientsystem_web2_0_50727CrystalReportWebFormViewer4 再试试看吧,问题解决!祝好运!

asp.net水晶报表安装部署(vs2005,vs2008)1.水晶报表安装程序和汉化包

C:Program FilesMicrosoft Visual Studio 8SDKv2.0BootStrapperPackagesCrystalReports 2.安装水晶报表运行时支持,打包下面这个目录到需要安装的服务器,然后点击“CRRedist2008_x86.msi” C:Program FilesMicrosoft SDKsWindowsv6.0ABootstrapperPackagesCrystalReports10_5 3.将下面几个dll拷贝到/bin下,注意版本号 vs.net 2005,在这个目录

C:Program FilesMicrosoft Visual Studio 8ReportViewer vs.net 2008,在这个目录

C:Program FilesMicrosoft Visual Studio 9.0ReportViewer microsoft.reportviewer.common.dll

microsoft.reportviewer.processingobjectmodel.dll microsoft.reportviewer.webforms.dll 安装一下,然后重启服务器,再访问就OK了

从网上找的方法是合并msm什么的,我的程序又不是用msi打包的,所以,不能用,换种方法: C:Program FilesMicrosoft SDKsWindowsv6.0ABootstrapperPackagesCrystalReports10_5 这里可以看到CRRedist2008_x86.msi及zh-CHSCRRedist2008_x86_chs.msi 只要把这两个安装了,水晶报表就可以使用了,因为网上有人说水晶报表30天会过期,我把日期调到30天后,看了看,正常

发布软件时,把以上水晶报表的两个安装文件给打包过去安装就OK了。

VS.NET2005与VS.NET2008水晶报表的注册码

注册号:6707437608(此注册号同时适用于VS.NET2005与VS.NET2008)水晶报表10 注册码

FULL NAME-> PARADOX ORGANIZATION-> PDX-ROXX

KEY CODE-> A3864-08108WK-0ZNF01B

注册号:6707437608(死马当活马医了,VS.NET2005提示水晶报表注册时,我输入了此号!JcServer注)

密码:AAP5GKS0000GDE100DS -------------------------------------------------

密钥:AAP5GKS0000GDE100DS 注册号:6707437608

License : AV860-01CS00G-U7000NC SN : 1231467890 用9.2的注册码可以成功注册的.ftp://pub:pub@pub.chinafsdu.net/开发工具与资源/水晶报表9.2/CyReport 9.rar SN:

AVS50-81SG00S-G61002U Crystal Report for VS.NET 注册号:6707437608

密码:AAP5GKS0000GDE100DS Crystal Report 9:

A6S5G-31C0000-0V400JK 6782976749

Report Application Server: AWM50-G0C000S-3S400CJ Crystal Enterprise 10

License : A1864-G86000G-GXCMCVE 版本::Crystal Enterprise 10 水晶报表10 注册码

FULL NAME-> PARADOX ORGANIZATION-> PDX-ROXX KEY CODE-> A3864-08108WK-0ZNF01B 注册号:6707437608

密码:AAP5GKS0000GDE100DS

Crystal Reports for Visual Studio 2003

License : AAP5G-KS0000G-DE100DS SN : 6707437608 Crystal Repoers 9.2 Advanced Developer Simplified Chinese License : AVS50-81SG00S-G61002U SN : 1112411119 Crystal Reports 9.2.2.634 Professional License : A5S50-81C0000-90100VU Crystal Reports 9.0 Standard Edition License : A6S50-01C000G-K8F00NH Crystal Reports 9.2.448

License : A5S50-01C000G-1U200CW Crystal Reports 9.2 Advanced Developer License : AVS50-81SG00S-G61002U(Note: select the typical installation)Crystal Analysis 10

License : A7864-090000G-SXR9A70 Crystal Enterprise 10

License : A1864-G86000G-GXCMCVE

Crystal Reports 10 Advanced Developer(build 10.0.0.53327)License : AV860-01CS00G-U7000NC SN : 1231467890 Crystal Reports Professional 10.0 s/n: A5860-01C0000-5XC002Z

出处:http://blog.csdn.net/gxj022/archive/2009/07/08/4329909.aspx

今天在备份一数据库还原给另一数据库时,发现还原不了,看了下原数据库的逻辑文件名和物理文件名不一致,现以下方法可更改文件名的一致。

在 SQL Server 的企业管理器中,似乎不能直接更改数据库名称,如果要更改,最方便的是在查询分析器中运行:

alter database 原数据库名称 modify name=新数据库名称

SQL Server 中,数据库还原时可以更改物理文件名,也可以分离数据库,直接更改 mdf 的文件名再附加,但更改逻辑文件名似乎不那么直观。

在查询分析器里运行: alter database 数据库名称

modify file(name=原逻辑文件名, newname=新逻辑文件名)这样就可以更改逻辑文件名了,由于 SQL Server 有数据文件和日志文件,所以数据文件和日志文件的逻辑文件名都要更改的话,就得写两个类似于上述的语句。

12.如何部署包含水晶报表的程序(VS.NET 2002)

-----------------

1、原理:

发布使用水晶报表的项目需要包含三种组件:报表(*.rpt)、模块(*.msm)、运行库(*.msm),这些模块文件是在C:Program FilesCommon FilesMerge Modules 目录里面。

(1)报表(*.rpt)

用户编程时创建的水晶报表文件。

(2)模块(*.msm)

Managed.msm

该模块包含了CR for VS.NET 的管理模块,如

CrystalDecisions、CrystalReports.Engine.DLLCrystalDecisions.Web.DLL, 和

CrystalDecisions.Windows.Forms.DLL…… Managed_chs.msm

是该模块的中文版语言支持。

Database_Access.msm

该模块包含了数据库的驱动、与不同数据库的联结、报表导出为

RTF 和

HTML 格式的文档和图表组件。

Database_Access_chs.msm 是此模块的中文版语言支持。

Regwiz.msm

注册信息模块,非常重要,必需在这个模块输入水晶报表的注册序列号,如果不填,编译的时候就无法通过。

KeyCode MSM 处理

Crystal Decisions 密钥号码的安装,这样您的用户在查看报表时,就不会被要求注册他们的Crystal版本。

(3)运行库(*.msm)

如果报表文件使用了

ADO.NET 的dataset 数据集对象,那么

VC_CRT.msm 和

VC_STL.msm 模块也必须包含在安装工程中。而且这两个模块的文件安装属性的 “Module Retargetable Folder ”项必须修改成为系统目录

在VS.NET安装

中,系

来的依

只有

dotNETFXRedist_x86_chs.msm 和

Managed.msm这两个模块,其他的模块我们需要手动加入。

-------------------------

2、具体操作步骤:

(1)新建“安装和部署项目”--> “安装向导”

(2)选择项目类型(这里选“创建用于windows应用程序的安装程序”)--> 下一步

(3)选择要包

含的文

你的程

件和

C:Program FilesCommon FilesMerge Modules 下的managed.msm、managed_chs.msm、database_access.msm、database_access_chs.msm、regwiz.msm、VC_CRT.msm、VC_STL.msm。--> 完成

(4)打开解决方案--> 右键点击regwiz.msm的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(这个是你生成Crystal Report是用到的注册号的密码!)

(5)生成解决方案(或直接按Ctrl+Shift+B)、

第五篇:VB教案-组合框的使用

VB6.0----结构化程序设计

[14-2] 组合框的使用

【教学目标】

1.了解组合框的组成及其主要属性 2.掌握组合框添加删除项目的方法

3.掌握通过改变组合框选项来改变文本框字体属性的方法 【教学重点】

1.在组合框添加删除项目的2种方法

2.组合框的Click事件用法

3.字体各种属性的回顾 【教学难点】

根据组合框的选项来更换字体颜色 【教学手段】

情境教学法、任务驱动法、演示法、讨论法 【教学过程】

一、引入

让学生看已经编好的程序,激发学生兴趣,并引出VB的编程游戏。再让学生上来操作,进入创设的情境中,提高学生的注意力。

[激发学生的学习兴趣,让学生参与课堂中来]

二、正课

1.建立如下图所示界面.能根据组合框选择的字体和字体大小来改变文本框中的文字属性.Page 1

VB6.0----结构化程序设计

Private Sub Combo1_Click()Text1.FontName = Combo1.Text End Sub

Private Sub Combo2_Click()Text1.FontSize = Combo2.Text End Sub

2.建立如下图所示界面,要求文本框中的字体属性能根据组合框选项的变化而变化.要求B,I,U这些按钮按下去之后文本框中字体变为粗体或斜体或下划线 要求能根据字体颜色”红色””绿色”等改变文本框字体的颜色

Private Sub Combo1_Click()Text1.FontName = Combo1.Text End Sub

Private Sub Combo2_Click()Text1.FontSize = Combo2.Text End Sub

Private Sub Combo3_Click()If Combo3.Text = “红色” Then Text1.ForeColor = vbRed

Page 2

VB6.0----结构化程序设计

End If If Combo3.Text = “绿色” Then Text1.ForeColor = vbGreen End If If Combo3.Text = “蓝色” Then Text1.ForeColor = vbBlue End If End Sub

Private Sub Command1_Click()Text1.FontUnderline = Not Text1.FontUnderline End Sub

Private Sub Command2_Click()Text1.FontBold = Not Text1.FontBold End Sub

Private Sub Command3_Click()Text1.FontItalic = Not Text1.FontItalic End Sub

Private Sub Command4_Click()End End Sub

三、总结.为理清这节课所学的知识结构,教师进行引导,让学生自己归纳总结,完成课堂小结部分。

四、课堂作业

B, I ,U这些按钮, 如何做到当文本框字体已经为粗体或斜体或下划线格式时按下他们, 字体恢复正常.Page 3

下载VB中水晶报表使用[推荐五篇]word格式文档
下载VB中水晶报表使用[推荐五篇].doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    U8自定义报表使用技巧总结

    自定义报表使用技巧总结对于一标准版软件而言,更多地关注客户的共性,因而在某种程度上而言,不能满足客户的个性需求。而自定义报表在正是解决这一矛盾的有力工具。本人在上期实......

    VB中串口通讯的实现

    VB中串口通讯的实现.txt VB中串口通讯的实现------------------ 一、概述 串口通讯作为一种古老而又灵活的通讯方式,被广泛地应用于PC间的通讯以及PC和单片机之间的通讯之......

    VB网格中输入数据[推荐5篇]

    VB网格中输入数据VISUAL BASIC提供的网格控制(Grid)主要是用来直观地输出数据,但不能输入数据,使用起来很不方便。能不能向网格中输入数据呢?笔者提出了两种解决方法,供大家参考:方......

    慢性病防治工作报表中注意事项

    《慢性病防治工作报表》填报中注意事项 1.常驻人口数、辖区医疗卫生机构数、开展慢病防治机构数、高血压患者人数、2型糖尿病患者人数、肿瘤患者人数、重性精神疾病患者人数......

    中控考勤记录统计报表使用说明

    在考勤软件的左上方有个“统计报表”,如下图: 进入后,选择你要的部门、员工、起止日期,然后点击查询计算。如下图: 查询出来的结果太多,不太好查看,那么直接导出数据为Excel然后在......

    vb学习中val函数补充用法vb

    Val函数在执行转换时,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美元号($)与逗号(,),都不能被识别。但是函数可以识别进位制符......

    VB中的Dictionary对象介绍+小结

    VBA中Dictionary对象使用小结 Dim dict ' 创建Dictionary Set dict = CreateObject("Scripting.Dictionary") ' 增加项目 dict.Add "A", 300 dict.Add "B", 400 dict.Add "C......

    关于如何解决报表出具中常见问题的总结

    报表出具过程常见的问题 我们财务岗位的关联性很强,不论是我们财务科内部岗位的相关,还是从科内延伸到公司其他的业务部门,也更能影响到上级单位,我们填报的数据可谓牵一发而动......