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

从Oracle Forms Builder中的块将数据从搜索结果复制到其他项,forms,oracle,Forms,Oracle,好吧,我不确定我能不能解释清楚 这就是它在运行时的样子: 上面的显示项列表是来自数据库查询的数据。 我在每一行上放置了一个“当鼠标点击”触发器,这样当我点击一行时,它会将所有数据复制到下面的字段中。当我第一次尝试单击一行时,它会起作用,但当我单击另一行(该行本应更改下面的数据)时,不会再发生任何事情 以下是我的画布的变量名: 以下是“鼠标单击时”触发器的内部内容: 谢谢你的帮助 您的鼠标点击代码不起作用,因为当您点击搜索块时,您当前处于该块中,因此您应该在分配值之前移动到飞行块,您还必须移动到下

好吧,我不确定我能不能解释清楚

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

上面的显示项列表是来自数据库查询的数据。 我在每一行上放置了一个“当鼠标点击”触发器,这样当我点击一行时,它会将所有数据复制到下面的字段中。当我第一次尝试单击一行时,它会起作用,但当我单击另一行(该行本应更改下面的数据)时,不会再发生任何事情

以下是我的画布的变量名:

以下是“鼠标单击时”触发器的内部内容:


谢谢你的帮助

您的鼠标点击代码不起作用,因为当您点击搜索块时,您当前处于该块中,因此您应该在分配值之前移动到飞行块,您还必须移动到下一个记录以将值填充到新记录中,否则它将重写现有记录上的值,下面是针对您的问题给出的示例:

在鼠标上单击“在代码之前添加这些行”

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;

--将鼠标点击触发代码粘贴到下面

我知道了。这一小行代码就成功了

GO_ITEMSYSTEM.MOUSE_记录

它只是告诉您在记录中单击的项目所在的行号。当您单击记录外的项目时,它给出的char值为零“0”

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