我正在开发一个access DB,在其中一个表输入中,副本经常出现在(我最终希望成为的)主键中,这是由于使用了一些旧的软件,原因如下:
ID | Fluid | Designer | Team |
--------------------------------------------------
A | Water | John | Piping |
A | Water | James | Piping |
B | Steam | Sam | Piping |
B | Steam | Sam | Modeling |
C | Hydrogen | Joe | Piping |
D | Steam | Joe | Piping |引用ID字段的查询重复生成:
ID | Fluid | Designer | Team |
--------------------------------------------------
A | Water | John | Piping |
A | Water | James | Piping |
B | Steam | Sam | Piping |
B | Steam | Sam | Modeling |自动删除这些副本是不想要的,因为重要的是要知道,比如说,软件模型改变了设计人员,或者被转移到了另一个团队。因此,这些都是人工审查的。
然而,这个表可以包含多达30个字段,找到一个不重复的字段可能会让人眼花缭乱。因此,我想要的输出是:
ID | Fluid | Designer | Team |
--------------------------------------------------
A | | John | |
A | | James | |
B | | | Piping |
B | | | Modeling |我在SQL方面的经验很少,但我花了一些时间使用visual,所以我猜是一些标准,如:
if(record(n)=record(n-1), display("")然而,从我对access和SQL的基本理解来看,我知道到目前为止,将visual与橘子联系起来是一个很大的问题。
我在运行MS Access 2007-2010年。
编辑:现在看看正常化(抱歉,我是个初学者)。不过,在我的DB问题上有更多的细节。还更新了上表。
我认为我的数据库应该如何工作:
软件中的错误源于这样一个事实:它将新的数据修改到已有的数据上,但只删除了精确的重复数据。如果说,一个不同的用户在模型上工作,那么它不会更新当前的ID,而是添加一个新的行,除了一个不同的用户之外,所有细节都是相同的。
发布于 2018-07-26 19:38:09
条件格式
听起来,您所要寻找的是一种简单的方法,可以直观地发现类似记录中的一长列中的(少数)差异。我有一个非常类似的项目,几年前我做了一个报告,用来查看用户对他们的个人资料所做的更改。我的方法是使用条件格式突出显示不同的字段。
在您的比较报告中,我还将使用一个ID列对组标头进行分组,以便于在组之间进行可视化分离。
对于报表中的比较公式,可以比较组中字段的Min()和Max()值。如果Min和Max是相同的,则整个组的字段匹配。如果没有,则可以使用条件格式突出显示该字段。

我想,如果您想变得特别有趣,您可以扩展这个表达式,使用一个运行和来突出显示第二个记录中的更改。
隐藏重复值
另一种方法是对组中的后续记录进行隐藏重复值。这将涉及相同的分组概念,但在报告中,您将字段上的Hide Duplicates属性设置为True。采用这种方法,您将在列表的顶部看到一条完整的记录,但随后记录的字段仅在值更改时才会显示。

https://stackoverflow.com/questions/51536598
复制相似问题