MS Access:条件格式 - 突出显示重复项

时间:2015-09-30 14:23:23

标签: vba ms-access ms-access-2007 ms-access-2010

是否有可以在MS Access中使用的表达式,以突出显示报告中的重复条目? 我试过像Expression这样的东西:Count(*)>1但它不起作用。

BR,

3 个答案:

答案 0 :(得分:0)

我怀疑原始查询需要使用具有ID列和ID计数的子查询进行批量处理。然后,最外面的查询还需要返回ID计数。

在报告中,您需要添加另一个显示链接ID计数的字段,如果它是> 1。

答案 1 :(得分:0)

访问报告(和表单)允许以类似于excel的方式使用条件格式。

请参阅功能区:报表设计工具> Formt> ControlFormatting ...

它将允许您根据控件或其他控件包含的值来更改控件的格式。

这是一个非常好的功能,还可以让您为列表表单添加条形图,以图形方式表示在控件中排序的值。

但是,数据集需要有一个列,指示当前行是否有重复记录。您提供的当前查询的片段(我在下面重复)将不会执行此操作:

 ...OR (((Object.Key) In (SELECT [Key] FROM [Object] As Tmp GROUP BY [Key] HAVING Count(*)>1 )));

如果没有看到整个查询,我就无法提供太多帮助,但您需要删除IN的使用并使SELECT语句成为主SQL语句的子查询。主查询结果集需要使用Key字段LEFT JOINED到子查询。由于LEFT JOIN,您可以在SELECT子句中使用“isnull(Key)”,对于非重复行,isnull(Key)将为true。

然后,您可以在条件格式

中引用此列

我希望这是有道理的。

答案 2 :(得分:0)

快速而肮脏地突出显示重复数据:

  1. 选择要重复的对象(如果它是重复的),然后选择 背景白色(或任何背景颜色)。

  2. 创建要突出显示的对象的副本(如果是) 重复。

  3. 格式化副本,使其具有突出显示,和/或添加额外文本 (例如: DUPLICATE

  4. 将副本放在原件后面(因此无法看到)。

  5. 在原始对象上,选择属性中的“隐藏重复项”。

  6. 确保未在副本上选择“隐藏重复项”。

  7. 因此,当副本出现时,Access会隐藏它,但是您创建的最初隐藏在下方的对象现在变得可见 - 有效地突出显示该字段。

    (不幸的是,它只会突出显示字段本身,而不是整个部分。)