我正在创建关于学校管理系统的项目
我想当双击鼠标在表格数据上,然后在表单中显示数据

发布于 2018-06-23 18:55:38
据我所知,您已经创建了一个具有主详细关系的表单,当您双击master part的一个记录(下面的记录带有学校数据标题)时,想要查看上面部分(带有学校标题)的结果,以匹配school_id列。顺便说一句,我假设school_id列的每条记录都有惟一的值。
所以,
从Data Blocks节点中选择blk_school (其项目位于frame SCHOOL内的块),并将WHERE属性(在Property Palette的Database Node中)设置为的值
school_id = :blk_school_data.school_id 其中,blk_school_data是其项目位于frame SCHOOL DATA内部的块。然后,使用以下代码为块blk_school_data创建WHEN-MOUSE-DOUBLECLICK触发器:
go_block('blk_school');
clear_block(no_validate);
execute_query;无论何时双击下部块中的任何项,都会带来数据。
发布于 2018-06-29 17:54:55
这种布局没有任何意义。表格和表单块显示完全相同的数据(ID、姓名和地址),那么这有什么意义呢?
此外,如果这是一个master-detail (至少看起来是这样),那么您就搞错了--为了显示详细数据,master必须存在。如果没有主记录,就无法获取详细记录,那么如何双击不存在的记录呢?我并不是说这是不可能的,而是需要额外的编程(即修改块的属性),我不确定这是否是您想要的。
也许您应该考虑创建一个包含您感兴趣的所有列的单个表格块,这样您就可以在单个表单中查询所需的所有内容。它的源可以是一个视图(创建为主表和详细表的联接),或者是一个FROM子句(它具有与视图相同的联接)。请注意,如果需要启用更新,则可能需要创建INSTEAD OF (数据库)触发器,创建额外的表单触发器(如ON-UPDATE、PRE-UPDATE等),所有这些都会使事情变得更加复杂。
因此,如果你能解释你试图解决的真正问题(而不是你所附的截图中所显示的虚构的问题),就会更容易得到帮助。
https://stackoverflow.com/questions/50999678
复制相似问题