如何避免重复值?

时间:2009-08-12 04:29:02

标签: crystal-reports

使用Crystal Report 8.5

实施例

Personid Date

3100   22-02-2009
3100   22-02-2009
3100   22-02-2009
3200   22-02-2009
3200   22-02-2009
3200   22-02-2009
3200   22-02-2009
3100   23-02-2009
3100   23-02-2009
3100   23-02-2009
3100   23-02-2009
3200   23-02-2009
3200   23-02-2009
3200   23-02-2009
3200   23-02-2009

所以......,

Expeceted Output

Personid Date

3100 22-02-2009
3100 23-02-2009
3200 22-02-2009
3200 23-02-2009

所以......,

对于personid,日期应该只出现一次。但我从数据库中获取重复记录。对于personid,日期会一次又一次地显示。

如何跳过重复记录。任何人都可以帮助解决这个问题。

需要水晶报告公式帮助。

3 个答案:

答案 0 :(得分:1)

您应该能够按PersonID分组,然后按日期,将字段从详细信息部分移动到日期组页脚,然后取消详细信息,PersonID页眉和页脚以及日期标题,以便日期页脚作为您的工作细节行。这样做只会为每个PersonID和Date组合显示一行。希望有所帮助。

编辑: 每个组页眉和页脚仅对值的每次更改显示一次。因此,在您的示例中,如果您没有删除任何部分,则会出现以下内容:

GH1 - 3100
  GH2 - 22-02-2009
      D - 3100   22-02-2009
      D - 3100   22-02-2009
  GF2 - 22-02-2009
  GH2 - 23-02-2009
      D - 3100   23-02-2009
      D - 3100   23-02-2009
      D - 3100   23-02-2009
      D - 3100   23-02-2009
  GF2 - 23-02-2009
GF1 - 3100
GH1 - 3200
  GH2 - 22-02-2009
      D - 3200   22-02-2009
      D - 3200   22-02-2009
      D - 3200   22-02-2009
      D - 3200   22-02-2009
  GF2 - 22-02-2009
  GH2 - 23-02-2009
      D - 3200   23-02-2009
      D - 3200   23-02-2009
      D - 3200   23-02-2009
      D - 3200   23-02-2009
  GF2 - 23-02-2009
GF1 - 3200

因此,如果你隐藏除了GF2部分之外的所有部分:

  GF2 - 3100   22-02-2009
  GF2 - 3100   23-02-2009
  GF2 - 3200   22-02-2009
  GF2 - 3200   23-02-2009

答案 1 :(得分:0)

我没有长时间使用水晶报告,但尝试了两件事之一 首先,更好的是在查询中使用某种Group By或Distinct。除了解决这个问题之外,它还使报表运行得更快,因为它不会渲染如此多的重复数据。 第二件事(我不是很害羞)但我认为有一个propraty Suppres Duplicate 最好的祝福, 约尔丹

答案 2 :(得分:-2)

使用此步骤......

1)右键单击该字段,然后选择“格式字段”菜单。

2)勾选方框,说明:如果重复则禁止

http://www.crystalreportsbook.com/Forum/forum_posts.asp?TID=11435

http://www.crystalreportsbook.com/Forum/forum_posts.asp?TID=8908