首页 > 解决方案 > 如果我使用空白表格,如何在 oracle apex 中获取复选框的值?

问题描述

在此处输入图像描述在此处输入图像描述我想将检查名称的值从 oracle apex 中的复选框放入表中,但无法做到这一点。我尝试从谷歌获得帮助,但提到的步骤也不起作用。如果我采取了一个空白表格然后添加了一个复选框,您能否建议如何做到这一点,我也从 LOV 中获取了复选框值。

标签: oracleoracle-apex

解决方案


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

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

当您选择多个值时,APEX 会将它们的返回值放入一个字符串中,并用:. 因此,对于屏幕截图中的情况, item 中的值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,并将金额输入到 item 中P12_AMOUNT):

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表中选择的每一个,如果用户在那里出现,则将相应的值更新为 item 的值:P12_AMOUNT,如果不存在 - 插入带有user_id和 值的行。


推荐阅读