如果我使用空白表格,如何在oracle apex中获取复选框的值?

时间:2018-09-17 12:33:21

标签: oracle oracle-apex

enter image description here enter image description here我想将oracle apex中复选框的选中名称的值放入表中,但无法执行此操作。 我尝试从Google寻求帮助,但提到的步骤也行不通。 如果我已经填写了空白表格,然后在其中添加了一个复选框,那么我也可以从LOV中获取该复选框的值。

1 个答案:

答案 0 :(得分:2)

据我了解,您正在使用值列表作为复选框的来源。假设您在其中具有以下值:

return value   display value
----------------------------
         123   andAND
         456   Dibya
         789   Anshul
         321   aafirst
         555   Anuj

选择多个值时,APEX会将其返回值放入字符串中,并用:分隔它们。因此,对于您的屏幕快照,情况P12_NEW中的值为123:555。要拆分此值,可以使用以下查询:

 select regexp_substr(:P12_NEW, '[^:]+', 1, level) values
   from dual
connect by regexp_substr(:P12_NEW, '[^:]+', 1, level) is not null

结果将是:

values
------
   123
   555

接下来,您需要将这些值放入表usr_amt中(让我们在列user_idamount中输入,并将金额输入到项目P12_AMOUNT中):< / p>

merge into usr_amt t
using (select regexp_substr(:P12_NEW, '[^:]+', 1, level) user_id
         from dual
      connect by regexp_substr(:P12_NEW, '[^:]+', 1, level) is not null
       ) n on (n.user_id = t.user_id)
 when matched then update
  set t.amount = :P12_AMOUNT
 when not matched then insert (user_id, amount)
      values (n.user_id, :P12_AMOUNT)

此查询将搜索表中选择的每个user_id,如果用户在那里出现,则将相应的值更新为项目:P12_AMOUNT的值(如果不存在)-插入一行user_id和值。