2009-09-28 3 views
4

У меня есть проблема с запуском Всего в Crsystal report9 , если их нет значения, доступного для Paticular поля, как мы можем вернуть текущую сумму как «0»Crystal Report-Running Total

ответ

0

Если нет данных для этой конкретной группы, тогда Кристалл не покажет ее легко. Ваши варианты:

1) Используйте подрепорты, чтобы отображать значения для определенной группы, и сохраняйте основной отчет, просто глядя на таблицу (таблицы), содержащую заголовки групп.

2) Используйте хранимую процедуру как источник, чтобы иметь полный контроль над запущенным SQL.

Проблема заключается в том, что, как только вы используете поле для группировки, Crystal будет возвращать только записи, в которых это поле было использовано. Если бы это было просто в разделе «Сведения», вы могли бы изменить ссылку на LEFT JOIN, и это не имело бы значения, но группа заставляет INNER JOIN, что означает, что группы без данных не возвращаются.

0

К сожалению, заработанные итоговые суммы не отображаются, если нет записей, соответствующих вашим критериям. Альтернативой является использование набора формул, рассчитанных в различных разделах отчета. Этот метод широко описан в литературе Кристалла. Например, this TekTips дает очень краткий обзор ваших вариантов.

Вы настроили формулу инициализации в каждом заголовке, указав директиву времени «WhilePrintingRecords». Этот подход был единственным, доступным для выполнения текущих итогов в «добрые дни» до того, как были доступны объекты RunningTotal.

3

Вместо отображения Running Total непосредственно в вашем отчете создайте поле формулы на основе Running Total и перетащите его в отчет.

Ваша формула должна выглядеть следующим образом (Crystal Syntax) ...

if ISNULL({#RunningTotalField}) then 
    "0.00" 
else 
    ToText(RunningTotalField, 2) 
+0

Это помогло мне тоже, спасибо. – ChargerIIC

Смежные вопросы