我正在尝试获取Access报告,以确定文本字段(NH)是否与相同的ID不匹配。例如,ID 179有两行,但每个NH是不同的(12345和12346)。我试图使用DCount来计算NH不匹配的ID,如果它是相同的ID,但我无法弄明白。
以下是我的代码示例: 这应该得到匹配的ID,例如179和179,并检查NH是否相同,如果不相同则返回计数。
CheckValue = DCount([ID], "vTestQuery", "[NH] <> '" & [NH] & "'" And "[ID] ='" & [ID] & "'")
如果CheckValue具有实际值,则为Me.txtColor提供我已设置的条件格式的值。
If (CheckValue > 0) Then
Me.txtColor = CheckValue
我还需要查看报告中的所有记录,并计算每个匹配ID与不同NH的数量,以便我可以标记不同的NH。
有人可以告诉我,如果我是在正确的轨道上,如果这样可以解决我的困境。
非常感谢!
第一次编辑
示例数据:
+-----+------------+------------+------------+-------------+
| ID | FullName | DateOfServ | AccountNum | NoteH |
+-----+------------+------------+------------+-------------+
| 179 | Test, Jane | 8/1/2015 | 458585 | AAA-1111111 |
| 180 | Test, Paul | 8/1/2015 | 458586 | AAA-2222222 |
| 181 | Test, John | 8/2/2015 | 458587 | AAA-3333333 |
| 214 | Test, Alex | 8/3/2015 | 458588 | AAA-4444444 |
| 214 | Test, Alex | 8/3/2015 | 458588 | AAA-4444445 |
| 215 | Test, Alex | 8/3/2015 | 458589 | AAA-5555555 |
| 215 | Test, Alex | 8/3/2015 | 458589 | AAA-5555555 |
+-----+------------+------------+------------+-------------+
所以我需要报告要做的是突出显示或更改匹配但具有不同NH的ID的文本颜色。例如,记录214有两条记录,除了NoteH之外都具有所有相同的精确数据,我需要这两个NoteH突出显示或文本更改。我把这个NoteH都用粗体。如果这有帮助,请告诉我。
第二次编辑
因此查询适用于具有重复NoteH的所有重复ID,但如果NoteH不同,它仍然只注册一个ID。我添加了一个IDCount来显示查询如何将每个214 ID注册为不同,因为NoteH不同。
结果如下:
+-----+------------+---------+
| ID | NoteCount | IDCount |
+-----+------------+---------+
| 214 | 1 | 1 |
+-----+------------+---------+
| 214 | 1 | 1 |
+-----+------------+---------+
| 212 | 2 | 2 |
+-----+------------+---------+
我需要一种方法让报告识别214是重复字段,但NoteH不一样。它真的很接近你工作的其他一切工作得很好!!!
第三次编辑
SELECT May.ID, Count(May.ID) AS IDCount, FROM May INNER JOIN
Count(CodeRyteCodingResults.[Note Handle]) AS NoteCount
CodeRyteCodingResults ON May.[Accession #] =
CodeRyteCodingResults.[Accession Number]
GROUP BY May.ID;
答案 0 :(得分:0)
使用聚合查询和条件格式
创建单独的查询以获取每个ID的唯一注释计数。它看起来像这样(我使用两个查询):
UniqueNotesQuery
SELECT ID, NoteH
FROM BaseTable
GROUP BY ID, NoteH
NoteCountsQuery(查询第一个)
SELECT ID, Count(NoteH) AS NoteCount
FROM UniqueNotesQuery
GROUP BY ID;
然后将此作为报告查询的一部分加入。它看起来像这样:
SELECT BaseTable.*, NoteCountsQuery.NoteCount
FROM BaseTable INNER JOIN NoteCountsQuery
ON BaseTable.ID = NoteCountsQuery.ID
在报告中,在文本框的条件格式中编写规则。像这样:
[NoteCount] > 1
上面的这些查询只是从头开始编写的,因此它们未经测试,您需要为项目充实它们。
<强>参考强>: