【问题标题】:How to automatic increment in number on Button SET_ITEM_PROPERTY如何在按钮 SET_ITEM_PROPERTY 上自动增加数字
【发布时间】:2019-09-14 20:16:21
【问题描述】:

我在 Oracle Forms 上有一个名为“UPLOAD”的按钮。当按下“上传”按钮时,将运行 2 个进程。

流程 1:

-- 将 Excel 文件中的数据上传到 Oracle 表单中

-- 将数据从 Oracle Forms 保存到数据库表中

-- 在数据块上显示重复记录

-- 按钮标签将随着 UPLOAD[1] 改变

如果再次按下“上传”按钮,则进程 2 将运行

流程 2:

-- 将 Excel 文件中的数据上传到 Oracle 表单中

-- 将数据从 Oracle Forms 保存到数据库表中

-- 按钮标签将随着 UPLOAD[2] 改变

现在我想再次按下“上传”按钮,然后自动增加数字。比如 UPLOAD[3] 等等。

“上传”按钮代码:

IF ( :WE_GROUP.FILE IS NOT NULL ) AND :WE_GROUP.DISPLAY IS NOT NULL THEN
 EXCEL_UPLOAD;
 commit;
 Set_Item_Property('Upload',label,'Upload'||' ['||2||']');
 :WE_GROUP.FILE := NULL;

ELSIF ( :WE_GROUP.FILE IS NOT NULL ) AND :WE_GROUP.DISPLAY IS NULL THEN
 EXCEL_UPLOAD;
 commit;
 Set_Item_Property('Upload',label,'Upload'||' ['||1||']');
 :WE_GROUP.DISPLAY := 1;
 :WE_GROUP.FILE := NULL;

go_block('we_group_hof_k');
CLEAR_BLOCK(NO_VALIDATE);

go_block('we_group_hof_k');
 first_record;
  for c in
      (
       SELECT cnicno, hofid
         FROM hof 
        WHERE cnicno IN (SELECT cnic_no FROM we_group_hof_k)
      )     
  loop
:we_group_hof_k.CNIC_NO := c.cnicno;
:we_group_hof_k.GROUP_HOF_ID := c.hofid;
 next_record;
  end loop;

ELSE
    Message('No File selected.');
    message(' ');
    RAISE Form_Trigger_Failure;

END IF;

【问题讨论】:

    标签: oracle oracle11g oracle10g oracleforms oracle-fusion-middleware


    【解决方案1】:

    只需声明一个局部整数变量为

    declare
       v_label  pls_integer
    begin
    

    并分配一个从上传按钮上看到的整数值开始递增的值

    v_label := regexp_replace(Get_Item_Property('Upload',label),'(\D)')+1 
    

    然后替换

    Set_Item_Property('Upload',label,'Upload'||' ['||2||']');
    

    Set_Item_Property('Upload',label,'Upload ['||v_label||']');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-21
      • 1970-01-01
      • 2020-04-12
      • 2017-01-20
      • 2020-09-11
      • 2020-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多