2015-07-27 2 views
1

Я пытаюсь получить отчет Access, чтобы определить, не совпадает ли текстовое поле (NH) с тем же идентификатором. Например, ID 179 имеет две строки, но каждый NH отличается (12345 & 12346). Я пытаюсь использовать DCount для подсчета идентификаторов, в которых NH не соответствует, если это тот же ID, но я не могу понять это.Функция DCount в доступе без определенного условия

Вот пример моего кода: Предполагается получить идентификаторы, соответствующие 179 и 179, и проверить NH, чтобы узнать, совпадают ли они и вернуть счет, если они не являются.

CheckValue = DCount([ID], "vTestQuery", "[NH] <> '" & [NH] & "'" And "[ID] ='" & [ID] & "'") 

Это дает значение Me.txtColor для условного форматирования я настроил, если CheckValue имеет действительное значение.

If (CheckValue > 0) Then 
Me.txtColor = CheckValue 

мне это нужно пройти через все записи в отчете и получить счет на каждом согласующем ID с различным NHS, так что я могу флаг в NHS, которые отличаются.

Может ли кто-нибудь сообщить мне, если я нахожусь на правильном пути, и если это решение моей дилеммы.

спасибо!

первого EDIT

Образец данные:

+-----+------------+------------+------------+-------------+ 
| 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 Например записи 214 имеет две записи со всеми одинаковыми точными данными, за исключением NoteH, и мне нужно, чтобы оба NotesH были выделены или текст был изменен. Я сделал NoteH сомнительным и смелым. Позвольте мне знать, если это помогает.

второго EDIT

Так запрос работал для всех повторяющихся идентификаторов с дубликатом НОТЕХОМ, но он по-прежнему регистрируется только один идентификатором, если НОТЕХ отличается. Я добавил IDCount, чтобы показать, как запрос регистрирует каждый идентификатор 214 как отличающийся из-за разных NoteH.

Вот результаты:

+-----+------------+---------+ 
| ID | NoteCount | IDCount | 
+-----+------------+---------+ 
| 214 | 1   | 1  | 
+-----+------------+---------+ 
| 214 | 1   | 1  | 
+-----+------------+---------+ 
| 212 | 2   | 2  | 
+-----+------------+---------+ 

Мне нужен способ, чтобы отчет признать, что 214 является дубликатом поле, но НОТЕХ не то же самое. Это действительно близко к работе над всем, что вы предложили, отлично работает !!!

третий EDIT

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

Sample данные пожалуйста. У меня нет никакого контекста для того, что NH имеет в терминах определения (поля, ключи, значения) или данные (фактические записи). –

+0

Таким образом, ID - это AutoNumber, а NH - короткий текст. Мне нужно запустить записи отчета, и если идентификатор будет таким же, как 179 и 179, но NH отличается, мне нужно поле NH изменить цвет. Я могу заставить поле NH изменить цвет, если я укажу идентификатор, но мне нужен отчет, чтобы проверить все ID для нескольких NH. Вот несколько примеров данных: ID: 179, Name: Test Allen, Date: 08/08/2015, NH: AAA-1234567 ... Тогда следующая запись будет выглядеть так: ID: 179, Name: Test Allen, Date : 08/08/2015, NH: AAA-1112223. Мне нужно, чтобы NH флаг для обоих из них, потому что ID тот же @DonJewett –

+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 

Эти запросы выше только написано с нуля, так что они не проверялись, и вы должны будете плотью их для вашего проекта.

Ссылки:

+0

Запрос работал для всех повторяющихся записей, кроме записи 214, потому что у него другой NoteH. Это тот, который нужно захватить. Я попытался включить изображение данных запроса, но моя репутация еще недостаточно высока. Поэтому я включил записи в пример таблицы, как раньше. Я также добавил редактирование к моему оригинальному комментарию. @DonJewett –

+0

Опубликуйте свой общий запрос. Если вы только группируете [ID], количество примечаний должно быть 2 согласно вашим данным образца. –

+0

Я перечислил агрегированный запрос выше. Да, я удалил группу на NoteH, а затем число NoteH и ID было равно 2. Единственная проблема с этим - NoteH, и она должна быть помечена. Мне не нужно указывать дубликаты идентификаторов, которые имеют соответствующий NoteH, но двойные идентификаторы, которые не имеют соответствия NoteH @DonJewett –

Смежные вопросы