2012-07-02 5 views
1

Что-то страшное, как это случилось с моей неудачной попыткой добавитьforumula к моему отчету о доступе.Формула CountIf в отчете MS Access

Я пытаюсь добавить формулу в свой заголовок отчета, чтобы подсчитать количество записей в моем столбце Service, содержащих определенное слово. Проблема в том, что я абсолютный любитель, когда дело доходит до кода SQL.

=CountIf([Service]="Housing") 

Является ли код, на который я надеялся, работал бы, но я, кажется, никуда не денусь.

+0

Несомненно, это будет только посчитайте это, если бы это было слово «жилье», только если бы оно было в нем. – BugFinder

+0

хорошо, что я намерен для этого подсчитать количество записей, сделанных для Жилье, есть и другие услуги, такие как Environmental Health и т. д. поэтому в этом примере я бы хотел, чтобы он считал жилье, но не играл в него. я не понимаю часть «Нет, если она была в ней». как объяснил, я не очень хорошо разбираюсь в SQL-кодировании, и все это жаворонка – Kris

ответ

6

Нет функции Countif в доступе. Однако вы можете использовать Sum и IIf (т. Е. Immediate If), чтобы выполнить одно и то же. Попробуйте:

=Sum(IIf([Service] Like "*Housing*", 1, 0)) 

выше предполагает, что вы хотите, чтобы столбец службы для содержат слово «Жилище». Это предполагает, что вы были точны в формулировке своего вопроса. Если вы на самом деле означает, что вы хотите, чтобы подсчитать количество записей, где столбец Service равно «Корпус» точно, вы бы использовать вместо этого:

=Sum(IIf([Service] = "Housing", 1, 0)) 
+0

превосходно, спасибо! Я не уверен, что такое этикет, и нужно ли мне задавать другой вопрос для этого, но в основном эти записи в базе данных предназначены для людей, которые совершили ошибки в определенных сервисах, которые они обучают на моей работе. не все обучаются в одних и тех же службах, и это показывает, сколько «записей обратной связи» есть для каждого человека в каждой службе. отчет запрашивает имя и дату, а также выводит записи, которые были сделаны. существует ли способ показать это и заполнить службу, введенную для этого человека? – Kris

+1

Вы можете добавить дополнительные критерии, используя 'AND' и' OR'. Например, '= Sum (IIf ([Service] =" Housing "AND [EmployeeName] =" John "))'. Однако, поскольку вы делаете это в отчете, лучше фильтровать сам отчет, когда вы открываете его, чтобы показывать только определенные записи. Ознакомьтесь с справкой для 'DoCmd.OpenReport'. Если у вас все еще есть проблемы, лучше всего задать отдельный вопрос. – mwolfe02

0

Это также работает:

=Count(IIf([Service]="Housing",1)) 
Смежные вопросы