报表与打印

Question



如何将含字符、整型数据的Access数据库中的数据表调到力控中显示并打印?



ANSWER



可以使用专家报表连接关系数据库,专家报表自己的方法去查询关系数据库并打印报表也可以在力控中使用数据表绑定,首先将力控的数据库变量和Access的数据表中字段进行捆绑,其次使用SQL函数做数据源连接和数据记录的取,最后使用windows/表格控件,将表格编辑成和你的Access数据库中的表一样的格式(字段、数据格式都要一致),通过函数SQLDisplayToGrid()将查询的数据显示到表格中。用print("要打印的窗口")就可以打印你要的表格了。





Question



如何做实时显示的生产报表?



ANSWER



可以使用专家报表完成该功能。定单元格,择工具栏中的“F”图标择“实时数据”,在弹出的“变量择”窗口择所需的变量即可




Question



我想作一个能够查询一个月前某一天的数据的报表,请问怎么做?



ANSWER



专家报表中提供了年报表、季报表、月报表、周报表、日报表、班报表等多种报表类型,如果想查询一个月前某一天的数据的报表直接用专家报表建立日报表即可,专家报表有SetTimePar与SetFreeReportPar来完成查询




Question



能将报表保存吗,就像保存EXCEL表单一样?



ANSWER



可以,专家报表方法ExportExcelFile、ExportCSVFile可将报表数据保存成.xls或.csv文件。




Question



报表如何打印?



ANSWER



1、 专家报表的打印:

   专家报表方法PrintPageSetup、PrintPreview、PrintSheet、PrintSingleRow可实现打印页面设置、报表打印预览、报表表页打印、打印指定的表页行

2、 历史报表的打印:

   历史报表方法PrePrint、Print可实现打印报表预览、打印报表




Question



历史报表要求使用整型数据,为何都两位小数在里面,如何去掉?



ANSWER



在历史报表组态窗口的“变量”窗口页中变量的格式,默认为8.2,根据要求可以改成说要的数据,用该格式也可以修改列宽。




Question



专家报表查询力控历史数据库如何添加标题与字段?



ANSWER



使用专家报表的模板形成的报表是没办法直接添加字段的,如果想添加标题与字段,要在报表向导第一步的“冻结行数”择需要的行数,第四步,“基准行”中输入向导形成的报表所占的起始行




Question



专家报表显示开关量0或者1,1时显示正常且颜色为红色,0时显示不正常且颜色为黑色,如何实现?



ANSWER



1)报表设置页公式—定义单元格颜色公式,

 



例如:if(curcell()>0.5,RGB(255,0,0),RGB(0,0,0))表示当前值等于1时显示红色,否则为黑色;

   2)格式—单元格—其他,

勾单元背景色使用颜色值公式并择颜色公式;

   3)格式—单元格—显示,使用单元格显示公式:if(curcell()=0,"不正常","正常")

4)结果显示:



Question


专家报表走关系数据库向导之后设置好格式属性等,运行后查询,新增加的数据并不随格式走?

ANSWER


问题如下图所示:

   设置后:

查询后:

总体方法是冻结两行,表头行数一行,然后将第一行隐藏。


Question


专家报表中显示数据,当为0时显示“关闭”,否则打开?

ANSWER


右键点击某一个单元格,选择单元格属性,如下图,写上公式if(curcell()=0,”关闭”,”打开”)。

同时:IF(CURCELL()<0,"0",String(CURCELL(),"%.f"))


Question


如何在专家报表里获取统计值?

ANSWER


进入专家报表

   1.在下图中择F下拉箭头,择历史数据。

2.在弹出的“历史数据”对话框(下图里择数据库变量,统计值择成“平均值”,在这个画面中,年、月、日、时、分、秒可以用变量表示,也可以由具体的数值表示,这里默认的是中间变量,当保存专家报表的设置的时候,自动提示定义这几个变量,将其都定义成整型即可,最后要求定义的参数是“this.stattime”,这个定义成字符串型。然后确定。

3.专家报表自动将所做的择生成公式,见下图

GetStaticData函数的使用帮助如下:

   double GetStatisData(Var,Year, Month, Day, Hour,TimeSpan,Type,Time)

参数

   Year, Month, Day, Hour指定的是开始时间,TimeSpan指定的是时间长度。

   Var 欲存取的变量,该变量必须是DB变量,该参数不能包含在""中。

   Year :整型,表示年,范围1999~2037 。0表示当年。

   Month: 整型,表示月, 范围1~12。0表示当月。

   Day: 整型,表示日, 范围1~31。0表示当天,负值表示前多少天,如-1 表示前1天,-2 表示前2天…。

   Hour: 整型,表示时, 范围0~23。 负值表示前多少小时,如-1 表示前1小时,-2 表示前2小时…。

   TimeSpan:整型,为时间范围,单位为小时。

   如果Hour为8,TimeSpan为1,表示7点~8点的统计数据(注意:对应于数据表中8点的数据,即后一个小时的统计数据;如果TimeSpan为2,则表示6点~8点的统计数据,即前2个小时的统计数据。

   Flag: 表示取何种统计数据。0:平均值; 1: 最大值 2: 最小值。

   Time: 字符型变量,为达到最大/最小值的时间。

   返回值:实型,该点在指定时间段的统计值。

示例:

   1val = GetStatisData (FI101.PV,2000,12,21,10, 1,0,strTime);

     取数据库中的点FI101.PV在2000年12月21日10~11时的平均值。

   2val = GetStatisData (FI101.PV,0,0,-1,10, 2,1,strTime);

     取数据库中的点FI101.PV在本年本月昨日8~10时的最大值。

   3val = GetStatisData (FI101.PV,0,0,-1,18, 3,2,strTime);

     取数据库中的点FI101.PV在本年本月昨日16~18时的最小值。

   注意:统计值的最小单位是1个小时,不能做到几分钟内(小于一个小时)的统计值,并且在数据库组态的时候,在基本参数中必须将“统计”勾上,否则取不出来统计值。


Question


怎么实现在专家报表打印时同时打印出当前的登录用户?

ANSWER

在专家报表的编辑环境下,给报表标题前加一行,用“F”工具择系统变量“$username”,冻结行数改为2,基准行为3;文件——页面设置——表首/表尾 将表头行数设为1:2.,意思是第一,第二行设为表头,进行连续打印。


北京力控元通科技有限公司版权所有 Copyright 2011-2019      京ICP备14040729号-1 京公网安备11010802010312号