oracle - 我如何从特定项目实例中获取值(value)?

标签 oracle oracleforms

我正在尝试创建基于多项目数据库的表单。 当我打开它时,它总是只由一条记录填充。 我想要其中的功能,它将填充新创建的记录的所有字段,与第一个(从数据库中选择的)记录中的字段相同。只需从第一条记录中复制它们即可。

我正在尝试使用 WHEN-NEW-ITEM-INSTANCE 触发器和“:system.record_status IN ('NEW','INSERT')”条件,但我不知道如何告诉表单我需要我的第一张唱片的值(value)。 我的意思是,

IF :system.record_status IN ('NEW','INSERT')
THEN
  :block.item := <<here goes pointer to my first record of that item>>
END IF;

那么,我如何从特定项目实例中获取值(value)?

提前致谢。

最佳答案

创建一个虚拟 block ,该 block 对用户来说是不可见的。使用默认记录填充它,作为 WHEN-NEW-FORM-INSTANCE 触发器的一部分。

然后在实际数据 block 中,您可以引用虚拟 block 中的项目来预填充项目。我可能会选择使用更高级别的触发器,例如 WHEN-CREATE-RECORD,而不是使用大量 WHEN-NEW-ITEM-INSTANCE 触发器,但这取决于设计的其余部分如何组合在一起。

<小时/>

"Thats a crude solution"

抱歉,我没有意识到您正在向用户显示默认记录。但是,据我所知,Forms 没有任何机制来引用除当前记录之外的记录(完全披露:我已经有一段时间没有实际使用 Forms 了,而且我无权测试这是否仍然是案件)。

你可以做的是:

First_Record;
Duplicate_Record;

这也有一个缺点,因为用户可能会发现导航跳转令人困惑。

关于oracle - 我如何从特定项目实例中获取值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6043559/

相关文章:

sql - 使用sql Developer修改Oracle12c数据库中 "system"用户的密码

sql - Oracle SQL - 了解 Dual 表如何发挥其魔力

java - 错误 ORA-01000 : maximum open cursors exceeded

sql - Oracle Form 中的旧值和新值

oracle - 如何获取 oracle 表单使用 Enter-query 操作生成的默认数据 block

java - 日期字段未正确更新。提交日期更新为 12 :00:00AM instead of original Value

Oracle:使用 Toad 设置 SERVEROUTPUT ON

javascript - 如何在 formsweb.cfg 中调用 Javascript?

oracle - fiddler 和 oracle 融合中间件形式