当前位置:文档之家› VB中水晶报表使用讲解学习

VB中水晶报表使用讲解学习

VB中水晶报表使用第一步:在VB工程中Project菜单加入"Add Crystal Report 9",报表名使用默认即可。

这时Form2(Crystal Rerport自动添加的Form,假设名为Form2)被自动分配了如下代码:Option Explicitdim Report as New Cystal1Private Sub Form_Load()Screen.MousePointer = vbHourglass '调用水晶报表时置鼠标为沙漏状CRViewer91.ReportSource = Report '该语句的赋值将在后面被修改CRViewer91.ViewReportScreen.MousePointer = vbDefault '调用水晶报表完成后置鼠标为默认形状End SubPrivate Sub Form_Resize()CRViewer91.Top = 0CRViewer91.Left = 0CRViewer91.Height = ScaleHeightCRViewer91.Width = ScaleWidthEnd Sub第二步:点击Crystal Report设计器的"数据库字段",选定"数据库专家...",然后点"创建新连接",再点"仅字段定义",创建"数据库定义"文件,字段名和宽度和原数据库表保持一致。

最后,在数据库字段中获得了相应字段,将其置于报表上,按水晶报表的要求配置。

第三步:该步骤非常关键,添加一个Modual到工程文件中,定义全局的ADODB变量,实现数据库和水晶报表的动态连接。

代码如下:Public conn As New ADODB.ConnectionPublic rs As New ADODB.Recordset第四步:关于VB程序的ADO数据库连接注意事项,请看下面的打印按钮例程。

Private Sub Command1_Click()Dim connstr As StringIf conn.State = adStateOpen Then conn.Closeconnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\prtest.mdb;Persist Security Info=False" 'prtest.mdb是程序当前目录的测试Access数据库conn.ConnectionString = connstrconn.Openconn.CursorLocation = adUseClientIf rs.State = adStateOpen Then rs.Closers.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.ApplicationDim oRpt As CRAXDRT.ReportDim reportName As String'上面三行是新增加的Screen.MousePointer = vbHourglassreportName = "\rpt\Pr1.rpt"'定义要引用的rpt文件Set oRpt = oApp.OpenReport(App.Path & reportName, 1)oRpt.Database.SetDataSource rs '连接水晶报表和数据源oRpt.ReadRecordsCRViewer91.ReportSource = oRpt '启用水晶报表的预览功能CRViewer91.ViewReportScreen.MousePointer = vbDefaultEnd SubPrivate Sub Form_Resize()CRViewer91.Top = 0CRViewer91.Left = 0CRViewer91.Height = ScaleHeightCRViewer91.Width = ScaleWidthEnd SubPrivate Sub Form_Unload(Cancel As Integer)'Set Report = NothingSet rs = NothingSet conn = NothingUnload Form2End Sub上面介绍了在VB中使用水晶报表进行报表开发的一种方法,该方法简单易用,适合初学者上手。

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

一、在使用自带的水晶报表时,请注册,否则只能使用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 收到数据之前先将数据筛选出来。

四、从 数据集制作报表从数据库创建数据集对象1. 在项目中新建一个架构文件:a. 在解决方案资源管理器中,右击项目名,指向“添加”,然后单击“添加新项”。

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

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

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

这就创建了一个新的架构文件(DataSet1.xsd),以后将用它来生成强类型数据集。

该架构文件将显示在 数据集设计器中。

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. 在“生成”菜单上,单击“生成”为项目生成数据集对象。

数据集对象提供数据的描述,从它可以向Crystal report 添加表。

使用Crystal Report Designer 中的“数据库专家”从 数据集对象添加表。

请在使用“报表专家”创建新报表时调用“数据库专家”。

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

将报表连接到 数据集对象1. 在“数据库专家”中,展开“项目数据”文件夹。

相关主题