2015-04-13 2 views
0

, пожалуйста, помогите me..I've пытается найти это в течение нескольких недель, но не могу найти ответ ..Crystal Report: Обобщить несколько полей даты в один

Дано: В настоящее время у меня есть эти поля даты на мой кристалл.

01/01/2015 
    02/24/2015 
    02/27/2015 
    02/28/2015 
    02/29/2015 

Как я могу суммировать его в одном поле, чтобы быть, как это,

01/01/2015, 02/24/2015, 02/27-2015 - 02-29-2015 

в целом, отдельные различные даты с запятой и присоединиться даты, которые находятся в пределах или последовательны в порядке.

спасибо.

+0

Is это обобщение или добавление нескольких строк в одной строке? – Siva

ответ

0

Нет прямого способа суммирования поля в отчете о кристалле, как вы упомянули в своем вопросе. Однако вы можете попробовать обход.

Создать группу и группу в поле «Дата» Вы хотите, чтобы подвести итоги и тогдашний

1) Создайте формулу с общей переменной для размещения в разделе заголовка отчета:

shared stringVar result=""; 

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

whileprintingrecords; 
shared stringVar result; 
if(result='') 
    then result:=CStr ({Date1.Date1_Text}) 
else 
    result:=result + "," +CStr ({Date1.Date1_Text}); 

Здесь {Date 1.Date1_Text} - это поле даты, которое вы хотите обобщить.

3) Создать другую формулу с той же самой общей переменной быть помещены в отчет колонтитула:

shared stringVar result; 
NumberVar i; 
StringVar array dates := Split(result,","); 

//Here you could put your logic to convert dates to date range.  
//.... 
result; // returns final result 
Смежные вопросы