首页 > 解决方案 > 应打印带有复选框的选定项目

问题描述

我有一个包含子数据的条目,这里是带有子项的检查按钮。如果我检查项目,则应打印所选项目 - 不是该父项的所有子项目。怎么做?

标签: oracleplsqloracleformsoraclereports

解决方案


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

然后通过传递“主”行 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_id, detail_id] 行,以便每个人都使用自己的值。

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


推荐阅读