首页 > 解决方案 > 手动添加字段和查询到现有的单组布局

问题描述

我的报告中已经有一个名为 G_1 的组,并且报告所需的整个字段集都存在于 G_1 中。
现在,我有一个新要求,需要来自不同表的数据,因此我使用“数据向导”创建了一个新查询,并且还创建了一个名为 G_2 的组。
我不想影响现有报告的布局(每个字段都在一个重复帧中)并且想添加我的新字段,
我添加了字段并映射了数据,但后来我收到错误消息“字段引用列低于其组频率” 因此我必须在不使用报告向导的情况下将该列置于现有组 G_1 下。

任何线索都会有很大帮助!

标签: oracleoracle11goracle11gr2oraclereports

解决方案


如果我明白你在说什么,那是行不通的。

如果您创建了一个新查询,它有自己的组 (G_2),并且在该查询中选择的字段必须属于 G_2 组。在 Paper Layout 中,默认情况下,每个查询都有外部框架 (M_2),它包含一个重复框架 (R_2),并且字段必须是这些框架的一部分。

如果您设置 flex 关闭并限制关闭(以便您可以在这里和那里拖动字段,甚至超出其边界(帧)并实际执行此操作 - 将字段拖动到 R_1 帧(这是 M_1 的一部分,属于查询1),你会得到那个错误。

那么该怎么办?

如果可能,最简单的选择是调整查询 Q_1 并在其中添加这些新字段。如果没有,您将有这两个查询。

一种选择是将查询 2 对象(框架、字段)放在属于查询 1 的对象下方(以便它们不相关)。另一个是“向下”拉伸查询 1 帧并为查询 2 对象腾出空间。然后你会画一个 M_2 框架(把它涂成白色,这样你就可以很容易地看到发生了什么)。在 M_2 中,绘制一个重复帧 R_2 并将其涂成黄色。它必须包含在 M_2 中。现在,在 R_2 重复帧中创建第一个字段。检查对象导航器 - 一切都必须在它的位置。如果不是,您将不得不向后(或向前)移动对象。

运行报告——如果它工作正常,那就好——继续下一个字段,依此类推。经常测试。完成后,让它更漂亮 - 将所有东西移到正确的位置,移除绘画 - 就是这样。


另一方面:由于您目前只有一个框架(我不知道有多少字段以及布局有多复杂),如果您是一个没有经验的报告用户,您最好的选择是删除当前布局并让向导完成这项工作。它肯定会毁掉你迄今为止所做的一切,但它有它的优点——所有物体都会在它们适当的位置上。可能很耗时,但调整字段和标题等内容可能更简单、更容易。

不幸的是,没有简单的方法可以做到这一点。需要时间来获得经验,但是 - 如果你有 - 去吧。如果你真的不这样做,你将如何学习如何去做?

祝你好运!


推荐阅读