Выражение доступа: подсчет уникальных значений в нескольких столбцах

Как я могу использовать MS Access Expression для подсчета уникальных значений в нескольких столбцах, как показано ниже? Я использовал Countif в Excel, чтобы получить счетчики "Да" в столбце состояния, и теперь я хочу использовать выражение MS Access, чтобы получить те же результаты.

1 ответ

Решение

Используйте функцию, чтобы сделать агрегат строки.

проверить это

Public Function count_sum(col1 As String, col2 As String, col3 As String) As Integer


Dim count_yes As Integer

count_yes = 0

If (col1 = "YES") Then
count_yes = count_yes + 1
End If

If (col2 = "YES") Then
count_yes = count_yes + 1
End If

If (col3 = "YES") Then
count_yes = count_yes + 1
End If

count_sum = count_yes

End Function

вызвать эту функцию, используя следующий запрос

SELECT col1,col2,col3, count_sum([col1],[col2],[col3]) as Status
FROM Table1;

Вы также можете использовать эту функцию в условной форме.

В текстовом поле статуса добавьте источник управления, подобный этому, ИЛИ непосредственно используйте вышеуказанный запрос и выберите источник управления в качестве статуса.

=Nz(count_sum([col1];[col2];[col3]);0)
Другие вопросы по тегам