如何复制集中在 oracle 表单中的当前记录?

How to duplicate a current record focused in oracle forms?

我正在练习 oracle Forms,我想知道如何从聚焦记录中复制所有值。你有什么主意吗?谢谢

例如,我实际上将光标聚焦在标记为黄色的记录中,我想单击 "Duplicar" 按钮(英文复制),然后复制实际记录。我该怎么做?

据我了解,您可以执行以下步骤:

首先,你不需要点击复制按钮,使用

WHEN-NEW-RECORD_INSTANCE trigger of comprobantes(master block).

在此触发器中写入此代码:

declare
    v_detail_blk varchar2(99) :='detalles';
begin
    set_block_property(v_detail_blk,default_where,'cmp_no = '||:comprobantes.cmp_no);
    go_block(v_detail_blk);
    clear_block(no_validate);
    execute_query;
 end;

在 Duplicate 按钮的 when-button-pressed 触发器上,您可以调用内置函数 create_record,然后调用 duplicate_record。这将插入 current;y 具有焦点的记录的副本。

单击选项插入新记录,这将在您选择的记录下方创建一个空行。

然后单击“复制记录”按钮,这会将上面一行中的所有值复制到您刚刚创建的行中。

如果你想成为这种自动的,你可以编写一个 Key-duprec 触发器,在其中放入以下代码:

insert_record;
duplicate_record;