Crystal Reports - Подавить заголовок страницы, если на странице 0 записей

Я хотел бы подавить заголовок страницы, если на странице нет записей данных.

Заметки

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

4 ответа

Решение

Предполагая, что вы отметили "Сохранить вместе" для нижнего колонтитула группы, попробуйте ввести следующее в формулу условного подавления для раздела заголовка страницы в эксперте раздела:

OnLastRecord or {GROUP FIELD NAME} <> Next({GROUP FIELD NAME})

где {GROUP FIELD NAME} - это имя поля группировки.

OnLastRecord должен стоять первым в формуле, потому что, если на последней странице отчета нет подробных записей (так что заголовок страницы должен быть подавлен), то Next({GROUP FIELD NAME}) оценивается как NULL и все условия, которые идут после нее также оцениваются как NULL.

Во-первых, вы должны создать формулу. Затем вставьте его в раздел "Детали". Например, @VariableA

Внутри формулы поместите это:

Shared NumberVar PageofLastField;

If OnLastRecord then PageofLastField := PageNumber;

Подавить формулу.

Формула проверяет, является ли запись последней записью. Если это последняя запись, она сохраняет номер страницы с последней записью в общей переменной PageofLastField. Затем в формуле Suppress вашего заголовка поместите этот код:

Shared NumberVar PageofLastField;

PageofLastField := PageofLastField;

if pageofLastfield <> 0 and PageNumber > PageofLastField
  THEN TRUE
ELSE FALSE

Щелчок правой кнопкой мыши по заголовку страницы Выбор эксперта раздела "Подавить (без детализации)" не отмечен, но добавьте эту формулу: pagenumber = totalpagecount

Вставьте итоговый счетчик для любого поля

Подавить формулу.

IF Count ({table1.field1})=0
  THEN TRUE
ELSE FALSE

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

if(NextIsNull(EnterFieldofNextSectionHere)) then
true
else 
false
Другие вопросы по тегам