在报告中,仅在第一行后重复某些列

时间:2012-05-02 19:09:22

标签: ms-access reporting

我的任务是在Access中复制在Filemaker数据库中运行的特定报告。输出应如下所示:

NAME       DATE       ITEM(S)
Joe      5/2/2012     Gum
                      Tape
                      Soap
Ann      5/1/2012     Paper
Bob      5/1/2012     Pen
                      Paper

其中记录看起来像这样(这是一个加入“person”和“items”表的查询,它们具有1:多的关系):

NAME       DATE       ITEM(S)
Joe      5/2/2012     Gum
Joe      5/2/2012     Tape
Joe      5/2/2012     Soap
Ann      5/1/2012     Paper
Bob      5/1/2012     Pen
Bob      5/1/2012     Paper

在报告中,我需要第一个ITEM始终显示在第一个完整的行中;如果有更多项目,则只应在后续行中列出项目(不应重复NAME和DATE值)。

我不太确定要吠叫哪棵树:

    RDL中的
  • 我可以逐行有条件地隐藏报表项...我可以在Access报表中这样做(在Access连续表单中,我认为不能这样做 - Visible设置适用于所有行同时,我认为)
  • 我可以使用Group执行此操作,将第一个完整行放在Group标题中,将后续行放在Detail部分中吗?如果是这样,我不确定如何只获得标题中的第一项,以及如何抑制详细信息部分中的第一项
  • 其他想法?我是否需要考虑不同的记录来源或来源?

到目前为止,我唯一能管理的是将人物分组,在组头中使用NAME和DATE,然后将所有项目放入细节中,但这并不是我所要求的做。

感谢期待“a-ha!”。

克里斯

3 个答案:

答案 0 :(得分:6)

  1. 按名称
  2. 添加组
  3. 所有字段放入详细信息
  4. 在所有字段上隐藏重复项
  5. 将Group by放在名称上的目的是阻止Bob的日期和项目被Ann的日期和项目隐藏。

    除此之外,相同的技术适用于Crystal和Jasper报告。

    布局视图 enter image description here

    设计视图 enter image description here

答案 1 :(得分:2)

  1. 报告中的内容相同,您无法以RDL中的方式应用条件格式。
  2. 这似乎是一个自然的答案。它本质上是一个分组操作,因此按名称和日期分组,并将这两个放在标题中,然后将项目放在详细信息中。唯一的问题是,正如我认为你注意到的那样,这些项目相对于你被问到的内容会偏移一行。
  3. 当然,您可以在条件逻辑中放入条件逻辑,但我认为这不起作用,因为显示/隐藏逻辑取决于组查询。见#2。

答案 2 :(得分:0)

在jaspersoft iReport 4.6.0中

  1. 选择"添加报告组"然后分组一个字段(例如.name) 你想要展示一次。
  2. 您需要在详细信息区域中添加所有字段
  3. 更改"打印重复值的属性" (复选框)关闭,你想要的 展示一次。