制作固定报表.ppt

上传人:PIYPING 文档编号:11924697 上传时间:2021-11-01 格式:PPT 页数:20 大小:199.50KB
返回 下载 相关 举报
制作固定报表.ppt_第1页
第1页 / 共20页
制作固定报表.ppt_第2页
第2页 / 共20页
制作固定报表.ppt_第3页
第3页 / 共20页
制作固定报表.ppt_第4页
第4页 / 共20页
制作固定报表.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《制作固定报表.ppt》由会员分享,可在线阅读,更多相关《制作固定报表.ppt(20页珍藏版)》请在三一文库上搜索。

1、2021/11/1,1,Visual Basic.NET 程序设计,第10 章 制作固定报表,2021/11/1,2,学习和实践的目标,需求分析要求:“打印输出所选择的一组学生的成绩报表,其中含有学生学号和姓名、某学年某课程的成绩、平均分数、最高分数和最低分数,并且可以按总成绩等进行排序。” 对这类经常使用的报表,为了规范和效率,应该将其样式固定下来,形成标准的固定报表。,2021/11/1,3,学习和实践的目标,图10.1是满足需求的学生成绩报表样式,其中的记录以总成绩降序排序。 本章将以学生成绩报表为例,学习制作固定报表。,2021/11/1,4,实现目标的知识点,使用Crystal Re

2、ports系统设计报表样式 VB.NET和 Crystal Reports系统的沟通,2021/11/1,5,10.1 制作固定报表的思路,水晶报表(Crystal Reports)是业界公认的强大的报表制作工具。将水晶报表和VB.NET有机地结合起来,可以制作很专业的固定报表。,2021/11/1,6,10.1 制作固定报表的思路,在学生成绩数据库(scores.mdb)中建立一个数据表(名称为:学生成绩报表),它将作为水晶报表系统制作的报表文件(名称为:scores.rpt)和学生成绩管理系统的桥梁。数据表结构如:表10.1 水晶报表系统通过ODBC和学生成绩数据库(scores.mdb)

3、中学生成绩报表建立联系。 依据数据库中学生成绩报表的数据结构,用水晶报表系统设计报表样式,输出结果为scores.rpt。 学生成绩管理系统中制作可以浏览水晶报表系统设计的报表文件(scores.rpt)的窗体。 和用户交互并根据请求准备报表数据,然后调用显示报表。,2021/11/1,7,10.2 报表系统对象关系,报表系统由协同工作的对象组成:CrystalReportView负责显示水晶报表系统设计形成的报表文件,其ReportSource属性用于设置和获取具体的报表文件,如:scores.rpt,RefreshReport方法用于刷新数据; frm固定报表 包含CrystalRepor

4、tView,控制CrystalReportView的工作环境; frm报表控制台 负责和用户交互,根据用户请求准备报表数据,然后调用 frm固定报表; frm主控 响应用户命令调用frm报表控制台。,2021/11/1,8,10.2 报表系统对象关系,2021/11/1,9,10.3 设计报表,10.3.1 准备数据源 报表文件的结构和数据来自数据源,所以先通过数据库标准接口ODBC建立和学生数据库scores.mdb联系的数据源。 执行【开始】|【设置】|【控制面板】|【管理工具】中的【数据源(ODBC)】,结果如图10.4所示(显示内容随已建立的文件DSN的多少而不同)。 选中【文件DSN

5、】标签,执行添加命令,选择Microsoft Access Driver (*.mdb)驱动程序,取数据源的名称为students,在下一步后执行完成命令,然后【选择】数据库,【确定】后就完成了数据源的建立,得到了文件students.dsn。,2021/11/1,10,10.3 设计报表,10.3.2 使用水晶报表设计器设计报表 在系统已安装了Crystal Reports9的前提下,执行【开始】|【程序】|【Crystal Reports9】,出现初始界面。 虽然使用报表向导比较直观方便,但因为需要制作的学生成绩报表具有指定的样式,所以从空白报表开始设计。 报表中的内容和数据库有关,所以要

6、选定数据源。为报表创建新连接,点击ODBC(RDO)前的加号(+),因为在上一步已经建立了文件DSN,只要选择该文件就可以了。 【完成】后,选择数据库中提供报表数据的“学生成绩报表”。 【确定】后进入报表设计器界面,在字段资源管理器中展开数据库字段的学生成绩报表,可以使用的字段展现在我们的面前。,2021/11/1,11,10.3 设计报表,10.3.2 使用水晶报表设计器设计报表 在报表页眉栏目中可以放置报表第一页上需要显示的内容,在页眉栏目中可以放置每页上都需要显示的字段名称等,在详细资料栏目中可以放置字段内容,在报表页脚栏目中可以放置报表最后一页需要显示的内容,如:学生总数,在页脚栏目中

7、可以放置每页上都需要显示的内容,如:页数和第几页。,2021/11/1,12,10.3 设计报表,10.3.2 使用水晶报表设计器设计报表 最终设计结果如图10.13所示,2021/11/1,13,10.4 显示报表,frm固定报表 专门用于显示固定样式的报表,而通过水晶报表系统设计的文件由.NET提供的CrystalReportViewer控件绑定展现。 10.4.1 使用CrystalReportViewer控件 从工具箱中将CrystalReportViewer控件拖入frm固定报表 窗体中,设置如下:,2021/11/1,14,10.4 显示报表,10.4.2 水晶报表控件与报表文件的

8、绑定 为了增加灵活性,报表文件scores.rpt放置在程序运行目录之下,因为水晶报表设计器设计的报表文件是通过ODBC文件students.dsn和Access数据库建立联系的,所以在调用之前先要修改students.dsn文件,同时使得crv水晶报表 的ReportSource属性设置为要显示的报表文件。,2021/11/1,15,10.4 显示报表,10.4.2 水晶报表控件与报表文件的绑定 ODBC文件通常放置在操作系统所在盘的Program FilesCommon FilesODBCData Source目录下,其内容如下: ODBC DRIVER=Microsoft Access

9、Driver (*.mdb) UID=admin DefaultDir=C:第十步:制作固定报表binDebug DBQ=C:第十步:制作固定报表binDebug scores.mdb DRIVER指明了使用何种驱动程序,UID表示用户标识,DefaultDir表示数据库所在的缺省目录,DBQ表示了数据库路径及其名称。,2021/11/1,16,10.4 显示报表,10.4.2 水晶报表控件与报表文件的绑定 其中的目录由建立ODBC时数据库文件所在路径决定。考虑到程序系统和数据库文件所在的目录不是固定的,要通过程序解决。CreateFileODBC过程用于根据当前程序运行的目录(数据库文件一定

10、在程序运行的目录中)修改该文件,使其内容符合现实。 CreateFileODBC过程代码见教材P CreateFileODBC过程涉及到目录操作和文件读写的知识,具体到第15章 备份和恢复学生成绩档案 介绍,这里只要使用就可以了。 显示报表的过程代码见教材P,2021/11/1,17,10.5 配置和调用报表,报表控制台窗体用来接收用户的输入(如:报表类别、学年、课程和排序),然后根据输入生成报表数据存入Access数据库,最后创建并调用固定报表窗体。 通过主控窗体的【报表】|【固定报表】菜单项调用报表控制台。 Private Sub mnu固定报表_Click(ByVal sender As

11、 System.Object, ByVal e As System.EventArgs) Handles mnu固定报表.Click 点击固定报表菜单项的动作 Dim frm报表控制台对象 As New frm报表控制台 frm报表控制台对象.ShowDialog(Me.frmBrowser.dgv上区域) End Sub,2021/11/1,18,10.5 配置和调用报表,报表控制台的ShowDialog方法调出对话窗,接受用户的输入 。代码见教材P171 在报表控制台上点击【确定】按钮后,通过Modify过程执行MakeReport过程:代码见教材P172,2021/11/1,19,10.

12、6 报表文件自动计算及格率,现在完成的学生成绩报表和要求仅仅缺少及格率。 当然可以在数据库的学生成绩报表中增加一个及格率字段,然后报表设计时将该字段显示出来,及格率通过程序计算填写。但是,利用水晶报表系统本身具备的丰富的计算能力来解决这一问题是比较好的方案。 及格率=总成绩及格的学生数/总学生数,2021/11/1,20,10.6 报表文件自动计算及格率,1.计算及格人数 在【运行总和字段】上调出弹出菜单,新建一个命名为“及格人数”的运行总和字段。要汇总的字段为“总成绩”,汇总类型为“计数”,点击 “使用公式”的图标,编辑汇总条件为:学生成绩报表.总成绩=60。 2.计算及格率 在【公式字段】上调出弹出菜单,新建一个命名为“及格率”的公式字段。利用水晶报表的Visual Basic语法写出函数表达式为:formula = #及格人数*100/Count (学生成绩报表.ID)。其中,formula是函数返回值保留字,#及格人数是已建立的运行总和字段,Count (学生成绩报表.ID)算出了总学生数。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1