将数据从搜索结果复制到Oracle Forms Builder中的块中的其他项目

时间:2015-03-05 16:28:40

标签: forms oracle

好的,我不确定我是否可以很好地解释这一点。

这就是它在运行时的样子:

output at runtime

上面的显示项列表是来自数据库查询的数据。 我点了一下'当鼠标点击'触发每一行,以便当我单击一行时,它将所有数据复制到下面的字段。当我第一次尝试点击一行但当我点击另一行应该更改下面的数据时,它就会起作用了,不再发生了。

这是我的画布'变量名称:

enter image description here

这里是'当鼠标点击'触发:

enter image description here

谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

您的鼠标单击代码无法正常工作,因为当您单击搜索块时,则当前您处于该块中,因此您必须在分配值之前移至FLIGHT块,您还必须移至下一条记录以填充值进入新记录否则它将重写现有值,下面是您的问题给出的示例:

单击鼠标

在代码

之前添加这些行
Begin
    Go_Block('flight');
    loop
       if flight.flight_id is null then
          -- look for the empty record if found then exit and assign values
          exit;
       end if;
       -- else continue finding empty record
       next_record;
    end loop;
end;

---粘贴鼠标点击触发器代码

答案 1 :(得分:0)

我明白了。这一小段代码就行了起来。

GO_ITEM(SYSTEM.MOUSE_RECORD);

它只是告诉您在记录中单击的项目所在的行号。它给出的char值为零' 0'当你点击记录外的一个项目时。

有关SYSTEM变量的更多用法,请查看此非常有用的链接。谢谢!

http://oraclet.blogspot.com/2008/02/system-variables-toutorial.html