Crystal синтаксис для подавления раздела на основе подсчета

Мне нужен синтаксис Crystal Reports для этого запроса ниже. По сути, я хочу исключить подробный раздел, если все записи не применимы. Ценю вашу помощь по этому вопросу.

if (select count(*) from appendix where is_applicable=0) = (select count(*) from appendix)

1 ответ

Это будет сложно, потому что итоги и промежуточные итоги могут быть оценены только после того, как записи уже были напечатаны. Так что если об SQL-выражении не может быть и речи, самый простой способ, который я могу придумать, все равно будет немного сложнее:

  1. Добавить новую группу для is_applicable на самом глубоком уровне. (Прямо рядом с разделом "Сведения".) Подавить верхний и нижний колонтитулы и отсортировать их по убыванию.
  2. В разделе Сведения создайте общую логическую переменную, которая переворачивается на True каждый раз, когда печатается рядом с is_applicable равно 1. Сбрасывайте переменную обратно в False каждый раз, когда изменяется 2-я самая глубокая группа.
  3. В разделе Подавление сведений напишите логику для подавления, если совместно используемое логическое значение равно True is_applicable равно нулю.

Если все сделано правильно, сначала должны быть напечатаны все подходящие записи, а если они не найдены, неприменимые записи не будут отображаться.

Другие вопросы по тегам