#ms-access #report
Вопрос:
Цель — В отчете есть расчетные поля в ЗАГОЛОВКЕ ГРУППЫ по перестраховщику
Цель состоит в том, чтобы напечатать этот заголовок только в том случае, если существует БОЛЕЕ ОДНОГО «имя_детали».
По данным, у Коринн есть 2 дилера. Поэтому я хочу распечатать ЗАГОЛОВОК ГРУППЫ на Перестраховщике
У Адама есть 1 дилер. Поэтому не печатайте заголовок Группы на Перестраховщике
Следовательно, какой код входит в событие «On Format» этого заголовка?
Вот ссылка на jpg данных — Просмотр набора данных
Комментарии:
1. Нужно подсчитать количество дилеров, связанных с перестраховщиком. Можно использовать выражение DCount() в элементе управления текстовым полем. Затем код проверит это текстовое поле:
Me.GroupHeader0.Visible = Me.tbxCount > 1
или DCount() может быть в VBA вместо ссылки Me.tbxCount.2. Я смог реализовать ваше предложение. Однако функция DCount() возвращает число, равное общему количеству строк во всем наборе данных. Мне нужно количество РАЗЛИЧНЫХ имен дилеров в этой группе в разделе. В наборе данных есть строка для каждого подписанного контракта. У дилера может быть 1 продажа или несколько. Поэтому количество строк в этом случае не будет работать.
3. Поэтому вам нужно создать запрос, который объединяет имена дилеров по группам.
SELECT DISTINCT Dealer, Reinsurer FROM table;
. Обратитесь к этому запросу в учетной записи постоянного счета для получения количества дилеров на одного перестраховщика.
Ответ №1:
Два приведенных выше предложения решили эту проблему. Спасибо!
Я решил эту проблему, создав запрос на создание таблицы с предложением select distinct. Затем я сослался на эту новую таблицу в функции DCount. Это работает. Как только у меня будет время, я бы предпочел использовать массив, чтобы свести к минимуму используемые ресурсы для создания отчетов. Кстати, я создал таблицу против запрос, так как счетчик постоянного тока будет вызываться около 600 раз.