Oracle 应打印带有复选框的选定项目

Oracle 应打印带有复选框的选定项目,oracle,plsql,oracleforms,oraclereports,Oracle,Plsql,Oracleforms,Oraclereports,我有一个带有子数据的条目,这里是带有子项的检查按钮。如果我选中项目,则应打印所选项目-而不是此父项的所有子项目。如何做到这一点?我能想到的最简单的选择是提交您所做的更改(即将复选框值存储到表中) 然后通过传递“主”行ID调用报表。报表的查询将如下所示: select some_columns from master_table m join detail_table d on d.master_id = m.master_id where m.master_id = :par_master_id

我有一个带有子数据的条目,这里是带有子项的检查按钮。如果我选中项目,则应打印所选项目-而不是此父项的所有子项目。如何做到这一点?

我能想到的最简单的选择是提交您所做的更改(即将复选框值存储到表中)

然后通过传递“主”行ID调用报表。报表的查询将如下所示:

select some_columns
from master_table m join detail_table d on d.master_id = m.master_id
where m.master_id = :par_master_id
  and d.checkbox = 1
where
条件将确保只打印选中的行

为了“重置”它,您可以使用“报告后”触发器和

update detail_table set
  checkbox = 0
where master_id = :par_master_id

但是,这在多用户环境中不起作用,因为许多用户可以使用相同的数据并“覆盖”彼此的复选框。更好的选择是创建额外的表并存储[user,master\u id,detail\u id]行,以便每个人都使用自己的值


或者,在表单中,如果没有太多的子记录,则使用循环连接选中行的ID,并将它们传递给将该字符串拆分为行的报表。

您有问题,但这不是问题所在。看见