杰控第26章数据库报表

合集下载

杰控组态手册25.数据库操作

杰控组态手册25.数据库操作

25.数据库操作序号 内容 页码25.1 数据查询 25-0125.2 曲线查询 25-0425.3 表格显示 25-0525.4 字段列表 25-0725.5 删除数据表内容 25-0825.6 数据库脚本编程 25-0925.7 存储过程脚本编程 25-1025.8 数据库记录平均统计 25-1025.9 把数据库记录导出到Excel中 25-1125.10 使用ADO访问数据库 25-1325.1数据查询提供了通过表格查看数据库内容的方法,用“数据查询”组件实现:增加一个组件对象,在设置对话框中添入数据库的有关信息,如下图所示:执行<ODBC数据源>按钮,通过出现的对话框来选择数据源(如FameView Userdata Source):执行<记录表>按钮,出现下面的对话框,其中列出数据源中所有数据表,从中选择要查询的记录集(如demo):此组件主要根据时间字段进行查询,执行<时间字段>按钮,出现下面的对话框,其中列出记录集中所有的字段,从中选择要使用的时间字段(如F3):如果希望把查询的结果进行打印或浏览,要先根据数据库利用Crystal水晶星建立报表格式,然后执行<报表格式>按钮,选择报表格式文件(*.rpt);用鼠标双击字段列表,会出现选择字段对话框,从中选择需要查询后显示的字段,此时不需要再选择时间字段;能自动的识别字段的类型,但要正确设定字段内容的字符长度;1个数据表中的字段数量要小于100;在查询显示表中,可能不希望直接显示字段的名称,请修改字段描述即可;用“Del”键可以从列表删除选错的字段;画面运行后,执行按钮查询,界面如下:如果不希望执行组件按钮来查询数据,而希望通过其他事件来执行,按照下列步骤来实现:(1)给按钮组件命名:选中组件,点击右键,弹出菜单,选择执行“对象属性”中的“脚本名称”,给对象命名,例如BTNOBJ;(2)隐藏按钮组件:选中组件,点击右键,弹出菜单,选择执行“隐藏对象”,使组件在运行画面显示时不可见:(3)编写脚本,然后被其他事件触发,例如在图标按钮中选择脚本执行,脚本内容如下:UserDbSQLObj.ShowWindow "BTNOBJ"25.2 曲线查询组态系统提供了通过曲线查看数据库内容的方法,用“曲线查询”组件实现:假设要查询的数据表的内容为;F1(罐号)F2(液位) F3(时间)1 10 2006-5-5 1:00:002 10 2006-5-5 1:00:001 100 2006-5-5 2:00:002 200 2006-5-5 2:00:001 110 2006-5-5 3:00:002 220 2006-5-5 3:00:00… … …增加一个组件对象,在设置对话框中添入数据库的有关信息,如下图所示:通过<数据源>按钮弹出对话框,选择ODBC数据源,如fameView userdata Source;通过<记录表>按钮弹出对话框,选择要查询的数据表,如demo;通过<时间字段>按钮弹出对话框,选择进行查询所依据的时间字段,如f3;通过<查询字段>按钮弹出对话框,选择进行分组查询所依据的字段;在<查询对象>中输入分组的方式,例如f1=1表示1#罐, f1=2表示2#罐;通过<曲线字段>按钮弹出对话框,选择并加入到曲线字段表中;画面运行后,执行按钮查询,界面如下:如果不希望执行组件按钮来查询数据,而希望通过其他事件来执行,按照下列步骤来实现:(1)给按钮组件命名:选中组件,点击右键,弹出菜单,选择执行“对象属性”中的“脚本名称”,给对象命名,例如BTNOBJ;(2)隐藏按钮组件:选中组件,点击右键,弹出菜单,选择执行“隐藏对象”,使组件在运行画面显示时不可见:(3)编写脚本,然后被其他事件触发,例如在图标按钮中选择脚本执行,脚本内容如下:SQLCurveObj.ShowWindow "BTNOBJ"25.3 表格显示组态系统提供了在线显示数据库内容的方法,通过“表格显示”组件实现:此组件可以在画面上以列表的方式直接显示某个数据库的内容,还可以与变量相关联;组态对话框如下:为组件命名,否则不能进行脚本操作,如“DBLIST”;执行<数据源>按钮,通过出现的对话框来选择数据库对应的数据源;执行<数据表>按钮,选择要显示的数据表,数据表中的字段数量要小于100:如果希望在列表中只显示数据表中的某部分数据,请<过滤条件>处填写缺省SQL语句,如F1>100;否则显示数据库中的所有记录;用鼠标双击字段列表,会出现选择字段对话框,从中选择需要查询后显示的字段,能自动的识别字段的类型,但要正确设定字段内容的字符长度;在查询显示表中,可能不希望直接显示字段的名称,请修改字段描述即可;用“Del”键可以从列表删除选错的字段;还提供了3组变量:增加变量、读取变量、修改变量;使系统变量(AI/AO/AR/DI/DO/DR/VA/VD /VT)与数据库之间建立联系;画面运行后,数据库列表界面如下:允许编写脚本操作数据库:要把增加变量组追加至数据库,请使用如下脚本:UserDbListObj.AddNewFromVarValue "DBLIST"要从数据库中读取第10个记录至读取变量组,请使用如下脚本:UserDbListObj.SetVarValueFromField "DBLIST",10要通过修改变量组修改数据库中的第10个记录,请使用如下脚本:UserDbListObj.EditFromVarValue "DBLIST",1025.4字段列表组态系统提供了在线选择数据库中某字段内容的方法,通过“字段列表”组件实现:此组件有以下功能:以选择框的方式供用户进行数据选择;选择框内容可以数据库中的某个字段的内容也可以显示手动输入的文本内容;选择的内容能够与变量关联;组态对话框如下:缺省列表,允许在其中手动输入多行文本(用回车换行),作为缺省的列表内容;关联数据库,设定数据源、数据表、使用字段、过滤条件,能够在画面运行时,把数据库某表中的某字段的部分记录显示添入到选择框中;过滤条件的格式为SQL查询语句,例如f3>1000;对应变量,在画面运行后,当使用选择框选择数据时,能够把所选择的内容对应到变量中:(1)索引变量可以是AO/AR/VA变量,对应的是选择框中当前文本的索引号,以0为基数;(2)数值变量可以是AO/AR/VA变量,对应的是把选择框中当前文本转换为浮点数后的数值;(3)文本变量可以是VT变量, 对应的是选择框中的当前文本;字段列表运行时的界面如下:允许用脚本更新选择框中的内容:更新数据选择框的内容DataboxObj.Update ObjName,OdbcName,TableName,FieldName,FieldType,Filter例:DataboxObj.Update "AAA","myODBC","myTable","myField",3,"f1>1000"得到当前数据选择框的文本内容n=DataboxObj.GetCurText(ObjName)例:n=DataboxObj.GetCurText("AAA")25.5 删除数据库内容某个数据库中存储了大量的数据,经过一段时间后,想把某个时间之前的数据删除;本节以例子的方式说明如何通过组态系统删除数据库中的某些数据;假设现有数据库,其ODBC数据源的名称为db1,其中有一个数据表名为T1,其中有一个日期时间字段为F4,根据F4来删除数据;增加2个文本变量(VT):VT1、VT2;在画面中各增加一个日期拾取器和时间拾取器,分别把内容保存在VT1和VT2中;再在画面中增加一个按钮,当执行按钮时,执行脚本来删除选择时间以前的数据;画面的界面如下:如果数据库的类型为Access,则脚本内容如下:'打开DB1,允许通过SQL访问SQLObj.OpenSQLConnect "DB1","",""'得到删除日期、时间s1=RunSys.GetVTtext("VT1",-1)s2=RunSys.GetVTtext("VT2",-1)'组成格式文本"Delete * From T1 Where F1<= #2002-1-1 0:0:0# "s="Delete * From T1 Where F4<= #" : s=s+s1 : s=s+" " : s=s+s2 : s=s+"#"'执行SQL语句,删除数据SQLObj.SQLExecute s'关闭DB1SQLObj.CloseSQLConnect如果数据库的类型为SQL Server,则脚本内容如下:'打开DB1,允许通过SQL访问SQLObj.OpenSQLConnect "DB1","",""'得到删除日期、时间s1=RunSys.GetVTtext("VT1",-1)s2=RunSys.GetVTtext("VT2",-1)'组成格式文本"Delete * From T1 Where F1<= ‘2002-1-1 0:0:0# ’s="Delete * From T1 Where F4<= ‘" : s=s+s1 : s=s+" " : s=s+s2 : s=s+"’"'执行SQL语句,删除数据SQLObj.SQLExecute sSQLObj.CloseSQLConnect往记录集中加入记录;UserDB.OpenConnect "My Database","",""UserDB.OpenRecordset "t1",2,2,2UserDB.AddNewUserDB.SetFieldValue "f1",7, "AAA"UserDB.SetFieldValue "f2",1,1000UserDB.UpdateUserDB.CloseRecordsetUserDB.CloseConnect得到数据库中字段的值;UserDB.OpenConnect "My Database","",""UserDB.OpenRecordset "t1",2,2,2UserDB.MoveFirstUserDB.Move(10)Value=UserDB.GetFieldValue "f2",1,1000UserDB.CloseRecordsetUserDB.CloseConnect执行SQL语句:SQLObj.OpenSQLConnect "TestDB","",""SQLObj.SQLExecute "DELETE FROM demo"SQLObj.CloseSQLConnect数据查询UserDB.OpenConnect "FameView UserData Source","",""UserDB.SetFilter "f1>=1000"UserDB.OpenRecordset "demo",2,2,2If UserDB.IsEmpty()=0 ThenretValue=UserDB.GetFieldValue("f2",4)End IfUserDB.CloseRecordsetUserDB.CloseConnect通过脚本编程可以执行数据库服务器端的存储过程;假设存储过程内容如下:CREATE PROCEDURE [test](@f1 [real], @f2 [real], @f3 [datetime], @f4 [real] output) AS INSERT INTO [UserDatabase].[dbo].[demo] ( [f1],[f2],[f3])VALUES ( @f1,@f2,@f3)if @@error=0set @f4=12.11elseset @f4=0.12GO过程调用如下:n=StoredProc.OpenConnect("FameView UserData Source","","")If n=1 ThenStoredProc.SetCommandText "test"StoredProc.SetInputParamCount 3StoredProc.SetInputParam 1,"f1",4,1.23StoredProc.SetInputParam 2,"f2",4,2.34StoredProc.SetInputParam 3,"f3",7,"2005-12-11 05:00:00"StoredProc.SetOutputParamCount 1StoredProc.SetOutputParam 1,"f4",4StoredProc.Executem=StoredProc.GetOutputValue(1)RunSys.SetVarValue VA,"%VA1",-1,mStoredProc.CloseConnectEnd If25.8 数据库记录平均统计把某个表中某天的数据求平均,存入另一个表中假设t1和t2有相同的结构,分别有3个字段:字段名称 类型F1 RealF2 RealF3 Datetime针对t1中近30天的数据,把每天的数据求平均,存入t2中,并删除t1中的数据;在SQL Server中编写存储过程test如下:CREATE PROCEDURE [test]asDeclare @n intDeclare @ct datetimeset @n=-30while @n<0beginset @ct=DATEADD(DAY,@n, GETDATE())INSERT INTO t1SELECT AVG(f1) AS f11, AVG(f2) AS F12, @ct AS F13FROM demoWHERE (YEAR(f3) = YEAR(@ct) AND (Month(f3) = MONTH(@ct) AND (Day(f3) = DAY(@ct)set @n=@n+1enddelete from demoGO在组态软件中调用过程的脚本如下:n=StoredProc.OpenConnect("FameView UserData Source","","")If n=1 ThenStoredProc.SetCommandText "test"StoredProc.ExecuteStoredProc.CloseConnectEnd If25.9 把数据库数据导出到Excel中'允许输入查询的年/月MyYear = InputBox("请输入查询年份","")MyMonth = InputBox("请输入查询月份","")MyDay = 1'检查时间是否合法If IsDate(MyMonth & "/" & MyDay & "/" & MyYear) = True ThenNOW_DATE = MyYear + "年" + MyMonth + "月"'得到开始时间StartTime = MyMonth & "/" & MyDay & "/" & MyYear & " 00:00:00"'得到结束时间If MyMonth < 12 ThenMyMonth = MyMonth + 1EndTime = MyMonth & "/" & MyDay & "/" & MyYear & " 00:00:00"ElseMyYear = MyYear + 1MyMonth = 1EndTime = MyMonth & "/" & MyDay & "/" & MyYear & " 00:00:00"End If'打开数据库及数据表demo,dt为时间字段UserDB.OpenConnect "FameView UserData Source","",""UserDB.SetFilter "dt>='"+StartTime+"' And dt<'"+EndTime+"'"UserDB.OpenRecordset "demo",2,2,2 '打开记录集;'检查查询内容是否为空If UserDB.IsEmpty()=0 Then'打开Excel文件Set ExcelObj = CreateObject("Excel.Application")ExcelObj.Visible = TrueExcelFile = "C:\组态系统\ExcelFile\test.xls"Intyexcel.Workbooks.Open ExcelFileExcelObj.Sheets("Sheet1").SelectExcelObj.Worksheets(1).SelectExcelObj.Cells(1,3) = NOW_DATE'导出记录到Excel中row=2While UserDB.IsEOF()=0ExcelObj.Cells(row,1).Value=UserDB.GetFieldValue("dt",8)ExcelObj.Cells(row,2).Value=UserDB.GetFieldValue("f1",4)ExcelObj.Cells(row,3).Value=UserDB.GetFieldValue("f2",4)row=row+1UserDB.MoveNextWendExcelObj.ActiveWorkbook.SaveAs "C:\组态系统\ExcelFile\"&NOW_DATE&".xls" ExcelObj.QuitSet ExcelObj=NothingEnd If'关闭数据库UserDB.CloseRecordsetUserDB.CloseConnectEnd If25.10 使用ADO访问数据库'与数据库(tempdb)建立连接Set conn = CreateObject("ADODB.Connection")strConn="Driver={SQL Server};Server=(local);Database=tempdb;Uid=sa;Pwd=;" conn.Open strConn'打开记录集(t1)Set rs= CreateObject("ADODB.Recordset")strSQL="SELECT * FROM t1"rs.Open strSQL,conn,2,2'添加记录rs.AddNewrs("f1")="222"rs("f2")=222rs.Update'得到记录f1=rs("f1")f2=rs("f2")'关闭连接与记录集rs.Closeconn.CloseSet rs=NothingSet conn=Nothing。

杰控组态手册26.数据库报表

杰控组态手册26.数据库报表

26.数据库报表序号 描述 页码26.1 功能描述 26-0126.2 目标数据库 26-0126.3 启动报表设计器 26-0126.4 新建报表格式 26-0226.5 编辑报表格式 26-0426.6 保存报表格式 26-0726.7 组态报表打印按钮 26-0826.8 脚本控制报表打印按钮 26-1026.9 执行报表打印 26-1126.1功能描述通过数据库连接把实时数据经前期处理后,有效的存储到自定义数据库中;用户可以通过系统绑定开发的水晶星(Crystal)报表格式及控件,提供了完善的报表输出功能;水晶星(Crystal)报表的功能非常强大,基于数据库能制作出各种工业报表,本章也很难详细的描述其功能,只能以例子的方式讲述如何实现简单数据报表,起到抛砖引玉的作用;复杂的报表设计可与杰控公司的技术支持联系;26.2目标数据库本例使用的数据库内容如下表:数据库类型:Microsoft Access数据源名称:FameView UserData Source数据表名称:T1字段名称:产量1 产量2 存储时间字段类型:数字[单精度] 数字[单精度] 日期/时间26.3启动报表设计器选择<数据库连接>功能,执行<数据库报表格式文件>任务,来启动或管理报表文件;如下图:26.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>按钮浏览并结束新建报表的制作,报表浏览把数据表中的全部内容给显示出来,如下图:26.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”;经编辑后报表的预览结果如下:26.6保存报表格式把编辑好的报表格式,建议存储到系统目录下的ReportFile目录下,例如:d:\组态系统\ReportFile\test.rpt在保存报表格式前,请打开菜单File,确信没有选择“Save Data with Report”,否则在打印/浏览报表时,报表的内容不会更新;26.7组态报表打印按钮打开画面制作程序,建立新画面,从组件箱中选择“报表打印”组件,如下图:组件的属性对话框如下:设置标题:通过<按钮标题>为按钮组件定义按钮显示文本;选择文件:执行<格式文件>按钮,弹出对话框,从中选择制作好的报表文件,如: Test.rpt提供班报表、日报表、周报表、月报表、季度报表、年度报表、自由报表、选择报表等8种类型; 如果选择了班报表,则可以从数据库中查询出某天的某个时间段内的数据进行报表输出,在表格中填写班次名称,并定义每班的时间范围(即开始时间-结束时间),每天最多可以分为24个班;一般情况下,开始时间均早于结束时间;但如果第1班的开始时间晚于结束时间,则默认为此班是从前一天的某时间到今天的某时间,例如:从今天的20:00至明天的6:00为一班,则开始时间为20:00,结束时间为6:00;另外,如果最后一班的结束时间早于开始时间,则默认为此班是从今天的某时间到明天的某时间;班报表的选择对话框界面如下:如果选择了日报表,从数据库中查询某一天的数据进行报表输出,日报表的选择对话框界面如下:如果选择了周报表,从数据库中查询某一周的数据进行报表输出,周报表的选择对话框界面如下:如果选择了月报表,从数据库中查询某一月的数据进行报表输出,月报表的选择对话框界面如下:如果选择了季度报表,则可以从数据库中查询出某一季度的数据进行报表输出,季度报表的选择对话框界面如下:如果选择了年度报表,则可以从数据库中查询出某一年内的数据进行报表输出,年度报表的选择对话框界面如下:如果选择了自由报表,则可以从数据库中查询出任意某一段时间内的数据进行报表输出,自由报表的选择对话框界面如下:如果选择了选择报表,则可以随意选择班报表、日报表、周报表、月报表、季度报表、年度报表、自由报表7种报表格式中的一种,进行报表输出,选择报表对话框界面如下:选择时间字段:一个数据库中必须存在一个日期/时间字段,否则报表控件不能正常工作;如果报表数据库类型为Microsoft Access,则此字段的类型为“日期/时间”;如果报表数据库类型为 SQL Server,则此字段的类型为“datetime”;为避免错误,通过<时间查询字段>按钮,弹出的数据源、数据表、字段表对话框,来选择时间字段;选择报表数据库的类型:为了保障报表的正确查询,必须正确选择报表数据库的类型,Microsoft Access或SQL Server,否则报表将不工作;预设查询条件:在报表浏览/打印时,如果只输出满足某些条件的内容,则可以通过设置查询条件来实现;查询条件可以在浏览/打印时设定,也可以在组态时预设好,在浏览/打印时再进行选择;允许最多预设100个查询条件;用鼠标双击查询表格中的某一行,出现下面的界面,在其中按照SQL语言格式输入查询语句:如果在报表数据库中使用确省了字段:DefaultText、DefaultValue,则在预设查询条件中不用输入字段名, DefaultText为文本字段,DefaultValue为数值字段;例如要想查询DefaultText等于“AAA”的记录,则只用输入“%AAA”即可;例如要想查询DefaultValue等于1000的记录,则只用输入“@=1000”即可;1幅画面中只能有1个报表打印按钮;26.8 脚本控制报表打印按钮可能不希望通过执行此按钮,而希望通过编写脚本来控制执行报表打印,按照下列步骤来实现: 为组态好的报表打印按钮控件命名:选中报表打印按钮控件,点击右键,弹出菜单,选择执行“对象属性->脚本名称”,弹出对话框给对象命名,例如“PRNBTN”;隐藏报表打印按钮:选中报表打印按钮控件,点击右键,弹出菜单,选择执行“对象属性->隐藏”,弹出对话框使组件在运行画面显示时不可见:数据库应用 26.数据库报表 .26-11. 35号画面脚本实现了报表打印按钮的控制:可以改变报表格式文件中的Formula 字段: UserReport.SetFormulaValue "AAAA","AA",11,900如果只是简单的显示报表打印按钮所提供的报表界面,编写的脚本如下: ReportBtnObj.ShowWindow “PRNBTN”如果想把报表打印按钮作为中间控件,利用它实现各种报表,例如要打印日报表,编写的脚本如下:ReportBtnObj .ActiveReport "PRNBTN","test.rpt",1,0,1,"存储时间"26.9执行报表打印以日报表来说明执行过程:在画面中执行报表打印任务后,首先出现下面的对话框:选择日期:通过日期选择器来选择要进行报表输出的日期,缺省为当前日期;过滤条件:希望以一定的条件输出报表,请选择“ 过滤条件”,弹出对话框,在其中输入或选择预设的过滤条件;浏览输出:选择<浏览>并执行<确定>按钮后,会出现下面的窗口,在内显示报表内容:打印输出:如果选择< 打印>并执行<确定>按钮后,会在打印机上直接输出报表内容;。

OracleEBS-报表开发工具之闲碎

OracleEBS-报表开发工具之闲碎

function AfterPForm return boolean is
begin
if nvl(:p_batch_id_char,'A')='A' then –通过条件,来进行字符串拼接。
:p_batch_id_temp := 'and 1=1'
;
else
:p_batch_id_temp := 'and to_char(m.fee_batch_id) in ('|| :p_batch_id_char ||')' ;
resp_appl_id =>APPS.FND_GLOBAL.resp_appl_id
);
Author:JarWang (王重东)
QQ:jarwang@ 12
Copyright(R):Jarwang
return (TRUE); end;
Report数据域 Oracle Report引用数据模型的数据源,有二种方式。 1.较常规的做法。直接使用工具栏上的“域”标签,然后设置相应数据源 2.使用“文本”标签,然后用“&”进行引用。 3.在PL/SQL中引用报表域文本的值,只需在PL/SQL直接引用域对应源字段名称即可(无须加 组名)。 Report汇总项 Report的汇总项比较灵活,在不同的组其汇总规则是可以多变的。这也会隐藏一些不易发现的问 题。 比如,下面这个数据源分为三个组。
end if;
return (TRUE);
end;
在数据模型的SQL语句中加入刚才拼接的字符串。
Select * from table_name where &p_batch_id_temp
注:是用“&”,不是PL/SQL中的“||”。

皕杰报表部署指南--v3.5

皕杰报表部署指南--v3.5

皕杰商务智能平台报表产品v3.5(部署指南)北京杰汇智科技有限公司 皕目录第一章部署流程 (2)第二章 WEB应用配置 (3)2.1创建新应用 (3)2.2皕拷贝杰报表WEB发布包 (3)2.3修改相关配置文件 (4)2.3.1 web.xml (4)2.3.2 config.xml (4)2.4制作WAR包 (11)第三章各种应用服务器介绍 (12)3.1TOMCAT5.5的部署操作 (12)3.1.1配置数据库连接池 (12)3.1.2发布报表web应用 (13)3.2WEBSPHERE的部署操作 (14)3.2.1配置数据库连接池 (14)3.2.1.1配置变量 (14)3.2.1.2 配置JDBC提供程序 (16)3.2.1.3 配置数据源 (17)3.2.1.4 新建J2C认证别名 (20)3.2.2发布报表web应用 (21)3.3WEBLOGIC的部署操作 (24)3.3.1配置数据库连接池 (24)3.3.1.1 配置Connection Pools (25)3.3.1.2 配置Data Sources (27)3.3.2 发布报表web应用 (30)第四章常见部署问题 (31)4.1应用服务器的差异 (31)4.1.1jndi的前缀 (31)4.1.2jdk的版本 (31)4.1.3中文的支持 (31)4.2操作系统的差异 (32)4.2.1中文安装包 (32)4.2.2图形环境问题 (32)4.2.3中文字体差异问题 (34)4.3其它问题 (34)4.3.1字符集配置问题 (34)4.3.2sql转码问题 (35)第一章部署流程如果和已有应用集成,一般来说已有应用已经配置好了数据库连接池,因此第一、第二步骤可以省略,只需要后面几个步骤。

配置应用服务器的数据库连接池、发布报表应用这两个步骤在不同应用服务器中的操作界面和操作方法是有区别的,举例来说,发布报表应用这个步骤,在weblogic和websphere中一般是发布一个war包或者是ear包,而在tomcat中就是在server.xml中配置,不需要打war包,在tomcat5中则是打好war包直接拷贝到webapps目录下即可唯一不变的步骤是web应用配置,这部分包含四个步骤,在任何一个应用服务器中都是一样的。

杰控组态手册12.实时报表

杰控组态手册12.实时报表

12.实时报表序号 内容 页码12.1 示例描述 12-112.2 定制实时报表功能 12-112.3 启动实时报表任务 12-212.4 定义实时报表数据 12-212.5 制作实时报表格式 12-312.6 定义自动实时报表打印任务 12-612.7 通过系统功能(FB)执行实时报表 12-712.8 通过画面脚本执行实时报表 12-712.1例子描述有5个模拟输入变量(AI):AI1、AI2、AI3、AI4、AI5,把它们显示在实时报表格式中;每隔30分钟打印1次实时报表;通过画面中的按钮随时打印实时报表;12.2定制实时报表功能如果系统没有支持实时报表功能,需要执行“我的系统->设置->定制系统”任务,出现下面的对话框:选中“ 实时报表”功能;12.3启动实时报表任务为使系统支持实时报表,需启动实时报表任务;需启动“系统设置->启动任务”,出现下面对话框:从中选择“ 实时报表”;12.4 定义实时报表数据实时报表最多支持100个数值变量和10个文本变量;需要从运行数据库中选择要参与实时报表的变量;在组态管理器中,选择“实时报表”功能;执行“1.定义实时报表数据”任务,出现下面对话框:选择“ 数值001”, <对应变量>按钮被激活;执行<对应变量>按钮,从中选择“VA.%VA1”变量;再执行<设定>按钮,使<数值001>=VA.VA1;使用同样的方法使<数值002>=VA.%VA2、<数值003=VA.%VA3>、<数值004=VA.%VA4>;此时的对话框界面为:12.5制作实时报表格式定义了实时报表数据,需要建立报表格式进行输出;用水晶星(Crystal)报表通过以下步骤建立实时报表格式;选择“实时报表”功能,启动“制作实时报表格式(Crystal)”任务:报表设计器启动后,首先出现注册窗口,直接执行取消按钮<Cancel>; 然后执行<File->New>菜单,出现下面的对话框:从“Choose an Expert”中选择<Standard>标准报表格式;出现下面的对话框,选择数据库的来源:必须选择“SQL/ODBC”数据源,即执行<SQL/ODBC>按钮,出现下面对话框:必须从<Server Type>列表中选择数据源“FameView ReportData Source”,(此数据源为系统所提供,在系统首次安装时建立的,对应的Access文件名称为ReportData.mdb, 对应的SQL Server文件名称为ReportData.mdf,所以必须保障此数据源的存在和完整性);执行<OK>按钮,出现下面对话框来选择数据表:FameView ReportData Source数据源中存在有数据表“PrnData”,其为实时报表数据的格式; 必须从SQL Table中选择数据表“PrnData”,如果为SQL Server数据库,数据表为“ReportData.dbo.PrnData”;执行<Add>按钮和<Done>按钮,出现下面的界面:执行“Next>>”按钮,出现下面的界面,选择报表中要使用的字段:其中“nData_1、nData_2、nData_3……nData_100”分别对应100个实时报表的数值数据,即“数值001-数值100”,可以对应AI/AO/AR/DI/DO/DR/VA/VD的变量值;其中“sData_1、sData_2、sData_3……sData_10”分别对应10个实时报表的文本数据,即“文本001-文本010”,可以对应VT变量的内容;另外记录集中还有一些附加的字段:序号 字段名称 描述1 sWeek 数据被采集存储的星期;2 sDate 数据被采集存储的日期3 sTime 数据被采集存储的时间4 nYear 数据被采集存储的年份;5 nMonth 数据被采集存储的月份;6 nDay 数据被采集存储的天;7 nHour 数据被采集存储的小时;8 nMinute 数据被采集存储的分钟;9 nSecond 数据被采集存储的秒;此时便可以用<Preview Report>按钮浏览并完成报表的制作;进行简单的编辑之后,最终的报表格式如下:把编辑好的报表格式,建议存储到组态系统目录下的ReportFile目录下,例如:d:\ 组态系统\ReportFile\test.rpt在保存报表格式前,请打开菜单File,确信没有选择“Save Data with Report”,否则在打印/浏览报表时,报表的内容不会更新;12.6定义自动实时报表打印任务实时报表通常需要自动的打印输出,通过以下步骤定义自动实时报表打印任务:选择“实时报表”功能,执行“实时报表自动打印任务”功能,出现下面对话框:系统最多允许定义7个自动打印任务,即“ 自动打印任务1-- 自动打印任务7”,如果要定义第1个打印任务,请选择“ 自动打印任务1”;通过<报表格式文件>按钮弹出的文件选择对话框,选择一个实时报表格式,例如:d:\ 组态系统\ReportFile\test.rpt假设要在每天的8点钟打印报表,则需要做以下选择:通过“<<设定”按钮,使定义有效,即“ 自动打印任务1”;执行“确定”按钮,完成定义;12.7通过系统功能(FB)执行实时报表系统还提供了28、29号系统功能来分别实现浏览、打印实时报表,如下图所示:12.8通过画面脚本执行实时报表例如要浏览实时报表,脚本编写如下:RunSys.PreviewDataReport"test.rpt",0。

杰控组态手册07.运行数据库

杰控组态手册07.运行数据库
监控系统通过通讯驱动,把外部控制设备中的成批的数据映象到设备数据表中,但成批数据无法直接
使用,所以系统通过运行数据库提供各种变量,以各种方式来访问设备数据表;
运行数据库是整个控制系统的中心枢纽,运行数据库提供的各种变量,要供其他程序使用,如画面、报
警、报表…等;
运行数据库,是一种面向对象的、结构化的、组态的实时数据库,开发人员进行了巧妙的设计,为了适
CA
计算功能
实现简单的算术、脉冲、计数器、计时器和逻辑运算等功能;
CMP 比较功能
对两个变量进行比较,根据结果去执行 CA/CMP/FB/FG 任务;
.7-3.
基本应用 FB FG TM Fx
系统功能 功能组 时间中断功能 解析函数功能
提供多种对工程项目操作的特殊方法;
7.运行数据库
实现批处理功能,同时执行多个 CA/CMP/FB/FG 任务;
.7-1.
7.运行数据库
页码 7-03 7-04 7-05 7-07 7-12 7-13 7-15 7-16 7-17 7-18 7-21 7-22 7-24 7-25 7-26 7-27 7-27 7-27 7-27 7-28 7-29 7-29 7-29 7-30 7-30 7-31 7-31 7-31 7-32 7-32 7-33 7-33 7-34 7-34 7-34
基本应用
7.运行数据库
序号 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12 7.13 7.14 7.15 7.16
内容 运行数据库介绍 定义运行数据库 编辑运行数据库 外部模拟变量(AI/AO/AR) 外部开关变量(DI/DO/DR) 内部模拟变量(VA) 内部开关变量(VD) 文本变量(VT) 存档变量(DOC) 计算功能(CA) 比较功能(CMP) 系统功能(FB) 定时功能(TM) 函数解析功能(FX) 查看运行数据库 应用示例 7.16.1 通过 AI/AR,得到设备中的某数据值 7.16.2 通过 DI/DR,得到设备中的某数据位 7.16.3 快速添加变量 7.16.4 分类显示变量 7.16.5 随机数 7.16.6 自动递增的数 7.16.7 自动递减的数 7.16.8 当前的日期/时间信息 7.16.9 系统启动和运行的时间 7.16.10 当前计算机系统的信息 7.16.11 系统的工作路径 7.16.12 变量累加 7.16.13 脉冲输出 7.16.14 计算变量大于 0 的时间(变量累时器/计时器) 7.16.15 计算变量的变化值 7.16.16 统计变量的变化次数 7.16.17 某变量的分钟统计值 7.16.18 某变量的小时统计值 7.16.19 数学运算

杰控组态指导手册

杰控组态指导手册

杰控组态指导手册前提:计算机已安装杰控组态软件(下面按FameView7.6为例)一、新建工程计算机安装好杰控软件后,桌面上会出现如图杰控快捷方式,双击打开软件出现下图窗口:点击窗口左上角如图按钮出现下图输入项目名称等信息,点击“确定”,新建项目成功。

二、画面组态在如图左侧树结构菜单栏选中“显示画面”,右侧出现“画面管理”,“显示属性”,“画面制作”双击“画面制作”即可进入画面编辑环境在弹出窗口中填写新建第一张画面的基本信息举例:画面名称“PIC1”画面尺寸“600*400”点击确认,进入画面菜单和工具说明请参考附件“08.画面制作”右键画面,选择画面属性,可对画面基本信息进行修改下面即可在画面根据提供的PID图进行所需流程图组态。

三、变量组态返回主界面,选择“设备通讯”,双击右侧“安装驱动”根据具体工程要求选择正确的驱动品牌和通讯方式,点击安装双击“启动驱动”,给需要启动的驱动打勾双击“设备数据表”,根据编程师提供的变量地址表预估和合理分配所需变量类型和数目。

返回主界面,选择“运行数据库”,根据要求在右侧不同的变量类型中建立变量以DI为例,双击“DI-开关只读变量”点击“新建”填写变量详细信息即可四、动画组态双击点开属性窗口这边根据你需要做动画连接,比如可见性选择条件a=b,连接变量,写下常数等于1(也就是在1的状态下可见),详情请参考附件“08.画面制作”五、报警组态,在建点的时候有需要报警的在报警一栏打上勾在扩展应用里选择变量报警,进行归档一个个添加归档进去,完成之后回到画面窗口,新建一个报警画面,拖动报警控件在组件箱变量报表,详情请参考附件“10.变量报警”六、趋势曲线,在组件箱,曲线显示里,实时曲线,拖动到曲线画面中,出现下面对话框点击实时曲线定义,把模拟量变量添加进去,详情请参考附件“11.历史数据”七、报表1.新建变量2.存档变量3.企业管理器——(Local)——数据库——新建数据库(宣化数据库名字是UserDateBase)——表——新建表4.实时报表——定义实时报表数据(有多少模拟量就定义多少数值)5.编辑报表格式6.新建报表,启动报表设计器7.下一步直接点DONE8.选择新建报表(直接点白的创建)9.从“Choose an Expert”中选择<Standard>标准报表格式;10.出现下面对话框,选择数据库来源:11.必须选择“SQL/ODBC”数据源,即执行<SQL/ODBC>按钮,出现对话框:12.选择USER Date Source13.执行<OK>按钮,出现下面对话框来选择数据表:14.选择你所建的表名,添加ADD15.添加完之后关闭,直接下一步,将表里的字段添加(ADD)到Report Filds,下一步,点击Preview Report,进入报表编辑模式(Design)设计报表格式,点击(Preview)预览样式16.设计好后保存,在默认路径下,改下文件名,后缀名(rpt)17.确定后,在编辑报表格式里可以看到该报表18.数据库——编辑数据库连接19.新建20.保存时间,触发周期改一下(根据要求),选择数据表(自己新建的表)21.选择字段名称(每个字段都要添加)22.应用数据连接,回到主画画(你可以把子画面往下拖),选择报表打印按钮,23.选择报表打印按钮后在画面上拖动出现下面画面,对象名称改一下格式文件选择你设计的报表选择时间字段,出现下面对话框,选择Fame View User Date Sourse,选择你所建的表里日期字段新建好之后,回到主画面,即页眉,右击选择画面脚本编辑,选择报表按钮,双击Show Window选择你刚刚选择报表按钮时起的对象名称,保存选择在组建箱里选择画面编程,动态菜单,选择一个动态菜单,下面可以选择一个空的添加,右边写上相应的描述,任务选择处理脚本选择报表按钮,SHOW Window双击,选择对象名称,保存报表详情请参考附件“12.实时报表”。

fameview应用

fameview应用

北京杰控科技有限公司
三、设备通讯 – 4.设备数据表
设备数据表是Fameview通讯性能优越的主要原因. 设备数据表的使用,默认支持了批量数据的通讯,通讯速度非常快. 使组态软件与外部设备隔离,简化了运行数据库的组态. 具备了在大型项目中应用的基本条件.如深圳地铁等. 使项目移植能够快速实现. 增强了调试功能.
四、运行数据库 – 9.定制运行数据库
北京杰控科技有限公司
四、运行数据库 – 10.查看运行数据库
实现运行数据库的调试. 制作完变量后,便可直接进行查看其值或状态是否正确. 鼠标双击AO/AR/DO/DR/VA/VD还可修改.
北京杰控科技有限公司
五、画面
内容: 画面管理器. 制作画面 画面显示属性. 画面显示.
二、系统设置 – 2.启动任务
解决如下问题: Windows启动后,如何自动启动组态软件.
启动组态软件时,如何只启动的必要的任务.
启动组态软件时,如何自动启动其他任务,如Word、Excel等.
北京杰控科技有限公司
二、系统设置 – 3.自动登录
Windows启动过程中,如果不希望出现登录界面,而直接进入…
设置是否允许报警信息的存储. 缺省存储到FameView ReportData Source数据源中. 定义报警信息允许存储的天数. 定义自动报警信息打印.
北京杰控科技有限公司
六、变量报警 – 内部系统报警变量
系统提供了以下报警变量: VA.%ALARMNO VA.%报警计数 VD.%报警允许 VD.%新报警 VT.%ALMTEXT 当前最新报警的索引号1-1500
报警 设定
北京杰控科技有限公司
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

26.数据库报表26.数据库报表
26.1水晶报表
选择数据库连接或批量数据库连接:
执行<制作报表格式>:
执行<新建>按钮,选择Crystal(水晶星)报表格式:
执行Cancel,直接取消;
执行菜单File->New:
执行<Standard>按钮:
执行<SQL/ODBC>按钮,选择ODBC数据源:
执行<Ok>按钮,继续选择报表使用的数据表或视图:
执行<Add>按钮,再执行<Done>按钮:
执行<Next>按钮,选择参与报表字段:
执行<Preview Report>按钮,完成报表初始化参数设置;
执行<Design>选项,继续设计基本报表格式:
[1].设计模式,即使报表内容有多条记录,也只设计一行;
[2].报表格式内容,通过对象表示,通过修改对象属性改变报表格式;
[3].改变字体,选中某对象,点击右键,执行弹出菜单<Change Font>;
[4].改变标题及文本内容,选中某标题对象,点击右键,执行从弹出菜单<Edit Text Field>;
[5].记录序号,执行菜单<Insert->Special Field->Record Number Field>命令;
[6].画表格线,执行菜单<Insert->Line>;
[7].添加图片,执行菜单<Insert->Picture>;
[8].添加字段,执行菜单<Insert->Database Field>;
[9].刷新数据库结构, 执行菜单<database->Verify Database>;
报表建立后,数据表结构发生变化,需通知报表格式;
[A].多选字段,执行菜单<Edit->Select Fields>,再选择字段并编辑;
[B].刷新报表内容,执行菜单<Report->Refresh Report Data>;
制作报表时,数据表记录内容发生变化,为浏览正常需通知报表格式;
基本报表格式设计完成:。

相关文档
最新文档