Oracle Forms:无法使用数组引用项目名称

Oracle Forms: Cant reference item name with an array

我正在学习使用 Oracle Forms,但在 pl/sql 编辑器中遇到了问题。

我在 canvas 上有很多复选框,并且有一个“按下按钮时”触发器,我想检查哪些复选框被“选中”。

起初我用复选框的名称声明了一个 varray - 例如 ('box_1','box_2',...)。

现在我正在尝试以下语法,但它不起作用:

for i in 1..example_array.count loop
    if checkbox_checked(:example_block.array1(i)) then 
        .....;

它说:错误 49 在第 ... 行,第 ... 列 - 错误的绑定变量 'example_block.array1('

但是当我使用复选框的名称时它起作用了:

for i in 1..example_array.count loop
    if checkbox_checked(:example_block.box_1) then 
        .....;

我无法引用数组或者我使用了错误的语法。你能帮帮我吗?

您可以使用 Name_In 函数,该函数属于 Forms 不作为预定义例程存在 PL/SQL也不是SQL,为了表示某项的值如

for i in 1..example_array.count 
loop
  if checkbox_checked(Name_In('example_block.box_'||i)) then ...