在 oracle 表单 10g 中的 LOV 填充后未触发后查询触发器

Posted

技术标签:

【中文标题】在 oracle 表单 10g 中的 LOV 填充后未触发后查询触发器【英文标题】:Post query trigger not firing after LOV population in oracle forms 10g 【发布时间】:2014-04-19 09:08:47 【问题描述】:

我有一个主详细信息表单,其中基于第一个块显示第二个块中的详细信息。问题是,当我使用 LOV 选择值时,后查询触发器没有在第二个块中触发,我不明白为什么。关系设置正确,因为当我使用表单上的默认键浏览记录时,记录会正确显示。我打开LOV的代码如下:

DECLARE
    SUCCESS BOOLEAN;
    BEGIN
    do_key('clear_form');
    SUCCESS := SHOW_LOV('STUDENT_LIST');
    set_item_property('registration.netid', property_true);
    END;

【问题讨论】:

post-query 触发器与 LOV 无关。 【参考方案1】:

您必须调用 execute_query 才能触发 post_query。

【讨论】:

我意识到,之后,当我通过 LOV 更改我的值时,我有一个问题,“你想保存更改吗?”信息。从论坛搜索中,我认为这与由于选择新项目而更改的项目状态有关,但我不知道如何绕过此消息我尝试过 execute_query(no_validate) 和 clear_block(no_validate) 但没有利用。我将所有非数据库项目设置为 NO 并在我的所有项目属性上插入允许/允许查询,以允许它们接收 LOV 值。我真的被困住了。 这与您的原始问题无关,无论您如何称呼:do_key('clear_form');那么您的表单中有 Key-CLRFRM 触发器吗?如果没有 key-clrfrm,将调用 do_key('clear_form') 更改为 clear_form('no_validate');或调用 clear_form('no_validate');在触发器 Key-CLRFRM 中。 这仍然不起作用,但无论如何谢谢你,我想我将不得不继续在论坛中搜索类似的问题来解决这个问题。

以上是关于在 oracle 表单 10g 中的 LOV 填充后未触发后查询触发器的主要内容,如果未能解决你的问题,请参考以下文章

当按钮按下oracle表单时字段变为空?

Oracle Forms 10g,多次插入和更新不起作用

如何在 oracle 表单中为值列表“LOV”设置方向

如何根据 Oracle 表格 6i 中的某些条件在两个 LOV 之间进行选择

Oracle Forms 10g 自动查询

将 Oracle 10g 中的值从表单 1 传递到表单 2 并将另一个值从表单 2 返回到表单 1 是不是可能