用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机应用

Developer/2000中的Forms参数及应用

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 11:56:18
以一个实际应用中的例子,来说明参数及参数表的用法。

Form_a是设备管理中的一个综合查询模块,用于浏览所有设备的编号、名称、位号等主要数据,

Form_b是塔类设备档案管理的明细模块,用于塔类设备档案的查询、删除、追加、修改,

现在要求当在Form_a中浏览到某一塔类设备时,只要触发某一触发器(如用鼠标双击其中的一项,就去执行Form_b,并且查询出在Form_a中浏览到的那台设备。下面是具体步骤:

1· 在Form_b中创建与“设备编号(SBBH)”对应的参数SBBH_P,并打开SBBH_P的属性窗口设置其属性使其与SBBH相一致。

2· 在Form_b中创建一个模块(MODULE)级的when-new-form-instance触发器,在此触发器中加入以下PL/SQL语句:

declare
blk_id block;
begin
blk_id:=find_block('sbzwj1');
/*'sbzwj1'为被调用模块的BLOCK名称*/
if :parameter.sbbh_p is not null then
set_block_property(blk_id,default_where,'sbbh=:parameter.sbbh_p');
end if;
count_query;
execute_query;
end;

3· 在Form_a中找到SBBH,并为其创建一个项目(ITEM)级的触发器,其类型为when-mouse-doubleclick,在其中加入以下PL/SQL语句:

declare List_id ParamList;

begin

List_id:=Get_Parameter_List('input_params');

IF NOT Id_null(list_id) THEN

Destroy_Parameter_List(List_id);

end if;

List_id:=Create_Parameter_List('input_params');

Add_Parameter(List_id,'SBBH_P',TEXT_PARAMETER,:sbzwj1.sbbh);

if substr(:sbzwj1.sbbh,3,2)='02' then

/*设备编号中的第3、4位为'02'时,该设备为炉类设备*/

call_form('tlsb1',hide,do_replace,no_query_only,List_id);

end if;

end;

4· 分别编译Form_a、Form_b,并创建(GENERATE)、保存(SAVE)两个Form的对应文件。

5· 运行Form_a并浏览到塔类设备后,用鼠标双击该塔类设备的设备编号区,即可调出此设备的档案明细。

5· 结束语

使用参数传送可使模块之间的有条件调用变得更灵活,模块的效率更高。参数传送不仅限于Form模块,你还可在应用程序中向Oracle * Reports以及Oracle*Graphics等其它CDE工具传送参数,步骤也与向Form传送参数相似。

参考文献

1.Oracle Developer/2000: Forms 4.5 Getting Started
2.Oracle Developer/2000: Forms 4.5 Devloper's Guide Manual
3.刘金亭、朱莉、蔡蔚编 ·CDE协同开发环境 Oracle Developer/2000

上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:17,937.50000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号