【问题标题】:Crystal Report row should change when two different field is changed当更改两个不同的字段时,Crystal Report 行应该更改
【发布时间】:2015-08-18 06:40:57
【问题描述】:

我正在使用水晶报表 7 和 Oracle 数据库。我在水晶报表中实现了如下SQL查询:

SELECT ins.ins_name,ins.ins, SUBSTR(cardh.g_id,1,1), SUBSTR(cardh.g_id,2,2),
      SUBSTR(cardh.g_id,4,2), crdi.bn,
      sum(DECODE(cardh.crd_st, 'PO', 1, 0)) POCount,
      sum(DECODE(cardh.crd_st, 'CN', 1, 0)) CNCount
FROM crdh, crdi, ins
WHERE crdh.crd_st IN ('PO','CN') and crdi.bn in 
(select unique bn from crdh)and crdh.bn=crdi.bn and 
crdi.ins=ins.ins
GROUP BY ins.ins, crdi.bn, ins.ins_name, cardh.g_id
ORDER BY ins.ins, crdi.bn;

上述查询的输出:

为了在 Crystal Report 中实现上述 SQL 查询,我在 cardh.g_id、crdi.bn、ins.ins 上按相同顺序创建了三个组。但是 Crystal 报表仅在 cardh.g_id 更改时才更改行。我希望 Crystal 报表仅在 crdi.bn 也发生变化时才更改行。

目前的报告如下:

上述报告应显示为 SQL 查询的输出。

排序记录专家截图:

【问题讨论】:

  • Siva,你能帮我解决这个问题吗?
  • 你能命名截图中的列吗?我无法理解你指的是哪些列……下次如果你向任何人发消息,请使用@siva我的收件箱
  • @Siva,感谢您的回复。我在输出和报告中添加字段的名称。但是您需要在输出和报告中检查左起第 5 列

标签: crystal-reports oracle10g


【解决方案1】:

好的,在这种情况下,您需要做的是将报告分组为您需要的字段组合。

创建一个公式@Grouping 并编写如下组合:

ToText(cardh.g_id)+ToText(crdi.bn)+ToText(ins.ins)

现在使用上面的公式对报告进行分组。

编辑----------------------------------------

转到Record Sort Expert 并选择必填字段,然后根据您的要求选择 asc 或 desc。

【讨论】:

  • 我已将列名添加为标题,我正在尝试您的解决方案。
  • 我已经使用了您的解决方案,但它没有显示在您的解决方案之前显示的那些记录。
  • 您是否将摘要放在组页脚中并将字段放在组页脚中并检查
  • 如果您的输出应该根据 SQL 输出,那么不要对任何字段进行分组,只需将字段放在设计中并运行报告...因为您已经在查询中应用了分组...跨度>
  • 报告中有序列号字段。它现在显示相同的序列号。我在“要总结的字段”中使用了 count(ins.ins)。如何获得正确的序列号。我没有在 Crystal 报表的 SQL 查询中添加 group 子句。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-20
  • 1970-01-01
  • 2010-09-12
  • 2016-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多