您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 综合/其它 > ORACLE_FORM_开发实战
李正海LIZHENGHAI@GMAIL.COM2008/9/221ORACLEFORM开发实战李正海2008/09/22李正海LIZHENGHAI@GMAIL.COM2008/9/222目录1一个基础的FORM.............................................................................................................................32一个查询FORM...............................................................................................................................123多画布的操作方法........................................................................................................................134LOV使用.........................................................................................................................................155LIST的使用...................................................................................................................................226FORM的参数调用...........................................................................................................................237包含主从表的FORM.......................................................................................................................268加入自定义菜单............................................................................................................................299加入图像的方法............................................................................................................................3110一个选择的范例.......................................................................................................................3211常用系统热键...........................................................................................................................35李正海LIZHENGHAI@GMAIL.COM2008/9/2231一个基础的FORM1.在文件中选择新建,表格,从而新增出一个FORM。2.建立数据块a)在导航器中点击该FORM,选择数据块向导b)输入表名,点刷新,显示出字段名c)使用,把字段全部选择到数据库项中。d)点下一步,注意使用默认的:“请先创建数据库,然后调用布局向导”。3.建立布局a)进入布局向导b)选择默认的布局向导c)选择显示项,把可用项全部变成显示项d)选择框架风格为默认的表格e)指定框架的名称及显示记录数f)完成布局向导4.运行FORMa)运行FORMb)点击查询中的执行,显示出所有数据c)点增加,新建立一条记录,输入数据,点保存,完成一条记录的输入d)在某条记录中,改变数据内容,点保存,完成一条记录的修改e)点删除,则删除该记录f)点退出,结束FORM运行李正海LIZHENGHAI@GMAIL.COM2008/9/224李正海LIZHENGHAI@GMAIL.COM2008/9/225李正海LIZHENGHAI@GMAIL.COM2008/9/226李正海LIZHENGHAI@GMAIL.COM2008/9/227李正海LIZHENGHAI@GMAIL.COM2008/9/228李正海LIZHENGHAI@GMAIL.COM2008/9/229李正海LIZHENGHAI@GMAIL.COM2008/9/2210李正海LIZHENGHAI@GMAIL.COM2008/9/2211李正海LIZHENGHAI@GMAIL.COM2008/9/22122一个查询FORM1.新建一个块2.加入一个框架3.加入数据项4.加入按纽,输入如下代码:GO_BLOCK('LZHTEST001');SET_BLOCK_PROPERTY('LZHTEST001',DEFAULT_WHERE,'NAMELIKE:block15.text_item21||''%''');EXECUTE_QUERY;李正海LIZHENGHAI@GMAIL.COM2008/9/22133多画布的操作方法1.加入一个画布,再加入一个堆叠式画布。2.加入两个块3.设置块的关系4.加入向子画布切换的按纽其对应的WHEN_BUTTON_PRESSED语句为go_block('lzhtest0011');--lzhtest0011为子块名5.加入子画布隐藏的按纽HIDE_VIEW('CANVAS39');--CANVAS39为子块所在的画布名GO_BLOCK('LZHTEST001');--LZHTEST001为主块名李正海LIZHENGHAI@GMAIL.COM2008/9/2214李正海LIZHENGHAI@GMAIL.COM2008/9/22154LOV使用设置LOV的基本过程包括如下:b)增加LOV,点击在导航器中的LOVS,点后,进行LOV添加。c)使用LOV向导d)输入SQL语句e)指定记录组列f)指定列宽度g)指定返回值h)指定标题i)指定显示行数等设置j)指定分配项k)完成向导设置调用该LOV的过程包括:a)点击CAT_C项b)点击显示列表c)选择某条列表后,确定后,选择的值输入到CAT_C项中。李正海LIZHENGHAI@GMAIL.COM2008/9/2216李正海LIZHENGHAI@GMAIL.COM2008/9/2217李正海LIZHENGHAI@GMAIL.COM2008/9/2218李正海LIZHENGHAI@GMAIL.COM2008/9/2219李正海LIZHENGHAI@GMAIL.COM2008/9/2220点击入项CAT_C,点击显示列表,则显示如下对话框。选择一条记录后,则在CAT_C中显示出选择的CAT_C值,如下图。李正海LIZHENGHAI@GMAIL.COM2008/9/2221李正海LIZHENGHAI@GMAIL.COM2008/9/22225LIST的使用1.加入一个LIST2.加入一个文本域,用于显示LIST改变后的值3.加入一个按纽,用于初始化LIST的信息,其WHEN_BUTTON_PRESSED语句为:DECLARERG_IDRECORDGROUP;ERRCODENUMBER;BEGINRG_ID:=FIND_GROUP('REPORT_TYPE');IFID_NULL(RG_ID)THENRG_ID:=CREATE_GROUP_FROM_QUERY('REPORT_TYPE','SELECT''[''||MS1||'']''||MS2,ms1FROMRB_SETWHEREID=4000ORDERBYva5');ERRCODE:=POPULATE_GROUP('REPORT_TYPE');POPULATE_LIST('BLOCK2.LIST5','REPORT_TYPE');ENDIF;END;4.为LIST加入事件,改变值:TEXT_ITEM7:=:BLOCK2.LIST5;李正海LIZHENGHAI@GMAIL.COM2008/9/22236FORM的参数调用1.建立主FORM建立布局,加入一个文本项,一个按纽,为按纽加入语句:declareList_idParamList;beginList_id:=Get_Parameter_List('input_params');IFNOTId_null(list_id)THENDestroy_Parameter_List(List_id);endif;List_id:=Create_Parameter_List('input_params');Add_Parameter(List_id,'P_GIVEPARAVALUE',TEXT_PARAMETER,:BLOCK3.TEXT_ITEM5);call_form('STEP006B',no_hide,no_replace,no_query_only,List_id);end;2.建立从FORM建立布局,加入一个文本项,一个按纽,为按纽加入语句::BLOCK3.TEXT_ITEM4:=:parameter.P_GIVEPARAVALUE;3.运行主FORM输入值:HELLO!李正海LIZHENGHAI@GMAIL.COM2008/9/2224点击按纽PUTPARA,弹出新的FORM点击按纽GETPARA,得到传递来的数据。此外,也可以使用全局变量的方式实现数据的传递,例如在主FORM中的WHEN-NEW-FORM-INSTANCE中加入如下的语句。:global.name:='GLOBALhello';李正海LIZHENGHAI@GMAIL.COM2008/9/2225而在从FORM中加入一个按纽,其WHEN-BUTTON-PRESSED中加入如下的语句::BLOCK3.TEXT_ITEM4:=:global.name;则启动主FORM后,再执行到从FORM,按GETGLOBAL得到如下的结果:4.报表参数传递,报表的参数传递方式与FORM一致,其范例如下:--无参数报表调用Run_Product(REPORTS,'LZHTEST.REP',SYNCHRONOUS,RUNTIME,FILESYSTEM,'',NULL);--有参数报表调用DECLAREpl_idParamList;BEGINpl_id:=Get_Parameter_List('REPORTPARALIST');IFNOTId_Null(pl_id)THENDestroy_Parameter_List(pl_id);ENDIF;pl_id:=Create_Parameter_List('REPORTPARALIST');--Add_Parameter(pl_id,'REPORTPARALIST',DATA_PARAMETER,'':FORMÏîÃû1'');Add_Parameter(pl_id,'P_PARA',TEXT_PARAMETER,'ABC');Run_Product(REPORTS,'LZHTEST.REP',SYNCHRONOUS,RUNTIME,FILESYSTEM,pl_id,NULL);END;报表中的参数定义:P_PARA即可获得FORM传递
本文标题:ORACLE_FORM_开发实战
链接地址:https://www.777doc.com/doc-6124627 .html