如何从表格执行数据到Oracle中的表格?

时间:2018-06-23 09:12:32

标签: oracle oracle11g oracle10g oracleforms

我正在创建有关学校管理系统的项目

我想要在表格数据上双击鼠标然后以表格形式显示数据

enter image description here

2 个答案:

答案 0 :(得分:0)

据我了解, 您已经创建了一个具有master-detail关系的表单,当您双击其中一个主记录(较低的记录带有 SCHOOL DATA title)时,想要在上部看到结果(标题为 SCHOOL )以匹配school_id列。顺便说一下,我假设school_id列的每条记录都有唯一的值。

所以

Data Blocks节点中选择blk_school(其项位于框架SCHOOL内的块),然后设置WHERE属性(在Database NodeProperty Palette的值)到

的值
school_id = :blk_school_data.school_id 

其中blk_school_data是其项位于框架SCHOOL DATA内的块。然后,使用以下代码为块WHEN-MOUSE-DOUBLECLICK创建一个blk_school_data触发器:

go_block('blk_school');
clear_block(no_validate);
execute_query;

只要双击下部块中的任何项目,即可带来数据。

答案 1 :(得分:0)

这种布局没有任何意义。表格和表格块都显示完全相同的数据(ID,名称和地址),所以-这有什么意义?

此外,如果这是一个母版详细信息(至少看起来像这样),那么您就错了-为了显示明细数据,必须存在母版。没有主记录,就无法获取明细记录,因此-您打算如何双击不存在的记录?我并不是说这是不可能的,而是需要额​​外的编程(即修改块的属性),而且我不确定这是否是您想要的。

也许您应该考虑创建包含您感兴趣的所有列的单个表格块,因此您可以以单个表格查询所有想要的内容。它的源将是一个视图(作为主表和明细表的连接创建),或一个FROM子句(它与该视图具有相同的连接)。请注意,如果需要启用更新,则可能需要创建INSTEAD OF(数据库)触发器,创建其他表单触发器(例如ON-UPDATE,PRE-UPDATE等),所有这些都使事情变得很重要。比应该的要复杂。

因此,如果您可以解释要解决的 real 问题(而不是显示在附件屏幕截图中的捏造的问题),它将更容易协助。