FameView数据库报表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
25.数据库报表
序号 描述 页码
25.1 功能描述 25-01
25.2 目标数据库 25-01
25.3 启动报表设计器 25-01
25.4 新建报表格式 25-02
25.5 编辑报表格式 25-04
25.6 保存报表格式 25-07
25.7 组态报表打印按钮 25-08
25.8 脚本控制报表打印按钮 25-11
25.9 执行报表打印 25-11
25.10 Excel格式报表 25-13
25.1功能描述
通过数据库连接把实时数据经前期处理后,有效的存储到自定义数据库中;
用户可以通过系统绑定开发的水晶星(Crystal)报表格式及控件,提供了完善的报表输出功能;
水晶星(Crystal)报表的功能非常强大,基于数据库能制作出各种工业报表,本章也很难详细的描述其功能,只能以例子的方式讲述如何实现简单数据报表,起到抛砖引玉的作用;复杂的报表设计可与技术支持联系;
25.2目标数据库
本例使用的数据库内容如下表:
数据库类型:Microsoft Access
数据源名称:FameView UserData Source
数据表名称:T1
字段名称:产量1 产量2 存储时间
字段类型:数字[单精度] 数字[单精度] 日期/时间
25.3启动报表设计器
选择<数据库连接>功能,执行<制作报表格式>任务,来启动或管理报表文件;如下图:
25.4新建报表格式
报表设计器启动后,出现注册窗口,执行取消按钮,即执行<Cancel>;
然后执行<File->New>菜单,出现下面的对话框:
选择<Standard>标准报表,出现下面的对话框,选择数据库的来源:
必须选择ODBC数据源,即执行<SQL/ODBC>按钮,出现下面对话框:
选择数据源,如FameView UserData Source,然后执行<OK>按钮,出现下面对话框选择数据表:
从SQL Table列表中选择数据表,如T1,然后执行<Add>按钮和<Done>按钮,然后出现下面的界面:
执行“Next>>”按钮,出现下面的界面,选择报表中要使用的字段:
从Database Fields列表中选择报表中要使用的字段,并通过<Add>按钮加入到<Report Fields>列表中,或通过<All>按钮加入所有字段;如下图所示:
此时便可以用<Preview Report>按钮浏览并结束新建报表的制作,报表浏览把数据表中的全部内容给显示出来,如下图:
25.5编辑报表格式
此时的报表格式还很简单,需要加以编辑:
点击<Design>进入设计模式,此时只显示一行数据,如果报表内容有10000行,也只用设计一行;报表格式中的每部分内容,通过某个对象来体现,通过修改对象的属性来改变报表格式;
改变字体:选中某个对象,点击右键,从弹出菜单中选择<Change Font>修改字体;
改变标题文本内容:选中某个标题对象,点击右键,从弹出菜单中选择<Edit Text Field>,可以修改文本的内容;
给记录加上序号:执行菜单<Insert->Special Field->Record Number Field>命令,允许为记录行添加序号;
加入公式字段:如果希望在报表中体现<产量1+产量2>的数值,但数据库中又不存在,您可以选用公式字段,执行菜单<Insert->Formula Field>命令,出现下面对话框:
输入中间字段的名称,如“产量12”,执行<OK>按钮,出现下面对话框:
在<Formula text>中输入计算脚本内容后,先用<Check>按钮检查脚本是否正确,再用<Accept>按钮把中间字段放入适当的位置;
添加表格线:执行菜单<Insert->Line>命令可以为表格添加表格线;
增加累加值:如果希望把产量1的所有查询数值进行累加,请选中产量1字段,点击右键,从出现的菜单中选择并执行<Insert Grand Total>命令,出现下面对话框,选择要计算的类型,如累加值、平均值、最大值、最小值..等:
增加图片:为了给报表增添效果,通过下面方法为报表增加图片,执行菜单<Insert->Picture>命令,从弹出的对话框中选择需要的图片;
增加新字段:在新建报表格式后,有时希望再往报表中添加新的数据库字段,执行菜单<Insert->Database Field>命令,从弹出的字段列表对话框中选择需要增添的字段;
刷新数据库:在报表建立后,数据库的结构进行了修改,例如添加了新的字段,要想在报表中体现新的字段,执行菜单<database->Verify Database>命令;
刷新报表内容:在制作报表时,数据库的记录内容发生变化,要想在浏览报表时进行刷新,执行菜单<Report->Refresh Report Data>命令;
报表排序:如果报表记录希望根据某个字段进行排序,执行菜单<Report->Sort Report>命令,从弹出的字段列表选择字段进行排序;
隐藏报表内容:整个报表由Title、Page Header、Details、Grand Total、Page Footer几部分组成,如果希望隐藏某部分内容,只需用鼠标右键点击某部分的前部的灰色部位,从弹出的菜单中,执行菜单命令<Hide Section>即可,如果想还原,再执行一次;
设置时间格式:有时日期/时间字段内只显示日期,而不显示时间,请按以下步骤操作:执行菜单<File->Report Options>任务,出现下面的菜单,确信不要选中“ Convert Date-Time to Date”;
设置浏览页的格式:为了在系统运行过程中,浏览报表时,浏览页的尺寸与窗口的尺寸匹配,请执行菜单<File->Report Options>任务,出现下面的菜单,选中“~Fit Page”;
经编辑后报表的预览结果如下:
25.6保存报表格式
把编辑好的报表格式,建议存储到系统目录下的ReportFile目录下,例如:
d:\组态系统\ReportFile\test.rpt
在保存报表格式前,请打开菜单File,确信没有选择“Save Data with Report”,否则在打印/浏览报表时,报表的内容不会更新;
25.7组态报表打印按钮
打开画面制作程序,建立新画面,从组件箱中选择“报表打印”组件:
组件的属性对话框如下:
设置标题:通过<按钮标题>为按钮组件定义按钮显示文本;
选择文件:执行<格式文件>按钮,弹出对话框,从中选择制作好的报表文件,如: Test.rpt
提供班报表、日报表、周报表、月报表、季度报表、年度报表、自由报表、选择报表等8种类型; 如果选择了班报表,可以从数据库中查询出某天某个时间段内的数据进行报表输出:
[1].在表格中填写班次名称,并定义每班的时间范围;
[2].每天最多可以分为24个班,开始时间通常早于结束时间;
[3].如果第1班的开始时间晚于结束时间,则默认为此班是从前一天的某时间到今天的某时间,例
如:从今天的20:00至明天的6:00为一班,则开始时间为20:00,结束时间为6:00;
[4].如果最后一班的结束时间早于开始时间,则默认为此班是从今天的某时间到明天的某时间;
[5].班报表的执行对话框界面如下:
如果选择了周报表,则从数据库中查询某周的数据进行报表输出,周报表的对话框界面如下:
如果选择了月报表,则从数据库中查询某月的数据进行报表输出,月报表的对话框界面如下:
如果选择了季度报表,则从数据库中查询某季度的数据进行报表输出,季报表的对话框界面如下:
如果选择了自由报表,则从数据库中查询出任意某段时间内的数据进行报表输出,自由报表的对话框界面如下:
如果选择了选择报表,则可以随意选择班报表、日报表、周报表、月报表、季度报表、年度报表、自由报表7种报表格式中的一种,进行报表输出,选择报表对话框界面如下:
选择时间字段:
¾报表数据表中必须定义日期/时间字段,否则报表控件不能正常工作;
¾如果报表数据库类型为Microsoft Access,则此字段的类型为“日期/时间”;
¾如果报表数据库类型为 SQL Server,则此字段的类型为“datetime”;
¾通过<时间查询字段>按钮,弹出的数据源、数据表、字段表对话框,来选择时间字段;
选择报表数据库的类型:为了保障报表的正确查询,必须正确选择报表数据库的类型,Microsoft Access或SQL Server,否则报表将不工作;
预设查询条件:
¾报表浏览/打印时,只希望输出满足某些条件的内容,则可以通过设置查询条件来实现;
¾查询条件可以在浏览/打印时输入,也可以在组态时预设,在浏览/打印时进行选择;
¾允许最多预设100个查询条件;
¾用鼠标双击查询表格中的某一行,按照SQL语言格式输入查询语句;
如果在报表数据库中使用确省了字段:DefaultText、DefaultValue,则在预设查询条件中不用输入字段名, DefaultText为文本字段,DefaultValue为数值字段;
¾例如查询DefaultText等于“AAA”的记录,则只用输入“%AAA”即可;
¾例如查询DefaultValue等于1000的记录,则只用输入“@=1000”即可;
25.8 脚本控制报表打印按钮
可能不希望通过执行此按钮,而希望通过编写脚本来控制执行报表打印,按照下列步骤来实现: 为组态好的报表打印按钮控件命名:选中报表打印按钮控件,点击右键,弹出菜单,选择执行“对象属性->脚本名称”,弹出对话框给对象命名,例如“PRNBTN”;
隐藏报表打印按钮:选中报表打印按钮控件,点击右键,弹出菜单,选择执行“对象属性->隐藏”,弹出对话框使组件在运行画面显示时不可见:
35号画面脚本实现了报表打印按钮的控制:
可以改变报表格式文件中的Formula字段:
UserReport.SetFormulaValue "AAAA","AA",11,900
如果只是简单的显示报表打印按钮所提供的报表界面,编写的脚本如下:
ReportBtnObj.ShowWindow “PRNBTN”
如果想把报表打印按钮作为中间控件,利用它实现各种报表,例如要打印日报表,编写的脚本如下: ReportBtnObj.ActiveReport"PRNBTN","test.rpt",1,0,1,"存储时间"
25.9执行报表打印
以日报表来说明执行过程:
在画面中执行报表打印任务后,出现日期选择对话框:
过滤条件:
¾只有在预先设定了查询过滤条件时有效;
¾择“;过滤条件”,弹出对话框,在其中输入或选择过滤条件;
浏览输出:选择<~浏览>并执行<确定>后,会出现下面的窗口,显示报表内容:
打印输出:如果选择<~打印>并执行<确定>按钮后,会在打印机上直接输出报表内容;
25.10Excel报表格式
计算机中必须安装Office中的Excel;
新建报表格式时,选择Excel报表格式:
输入报表文件名称:
系统能够建立一个缺省格式的Excel文件,打开此文件;
Excel报表文件中包含2个工作表:Param和Report;
Param工作表中定义了报表的数据源、数据表、字段名称、开始行号等,进行相应设置,如下图:
Reprt工作表为定义报表格式,根据需要进行布置,如下图:
通过报表打印按钮使用Excel报表格式:
通过脚本函数使用Excel报表格式:
UserReport.SetCrystalReport "exceldemo.xls",2,"dt",""
UserReport.PreviewCrystalReport -1,-1,-1,-1,-1,-1,1,0,0,0,0 报表浏览的格式为:。