Crystal синтаксис для подавления раздела на основе подсчета
Мне нужен синтаксис Crystal Reports для этого запроса ниже. По сути, я хочу исключить подробный раздел, если все записи не применимы. Ценю вашу помощь по этому вопросу.
if (select count(*) from appendix where is_applicable=0) = (select count(*) from appendix)
1 ответ
Это будет сложно, потому что итоги и промежуточные итоги могут быть оценены только после того, как записи уже были напечатаны. Так что если об SQL-выражении не может быть и речи, самый простой способ, который я могу придумать, все равно будет немного сложнее:
- Добавить новую группу для
is_applicable
на самом глубоком уровне. (Прямо рядом с разделом "Сведения".) Подавить верхний и нижний колонтитулы и отсортировать их по убыванию. - В разделе Сведения создайте общую логическую переменную, которая переворачивается на True каждый раз, когда печатается рядом с
is_applicable
равно 1. Сбрасывайте переменную обратно в False каждый раз, когда изменяется 2-я самая глубокая группа. - В разделе Подавление сведений напишите логику для подавления, если совместно используемое логическое значение равно True
is_applicable
равно нулю.
Если все сделано правильно, сначала должны быть напечатаны все подходящие записи, а если они не найдены, неприменимые записи не будут отображаться.