Мой отчет Группы по двум полям, второй - поле даты.Как изменить условие «Сумма» во время выполнения?
Если я перейду к «Эксперту группы», выберите второе поле (поле даты) и нажмите «Параметры», я получу диалоговое окно «Изменить параметры группы». На вкладке «Общие» есть две вкладки («Общие» и «Параметры»), и теперь мы видим три выпадающих списка.
ComboBox1: Поле Дата
Combobox2: в порядке возрастания.
И третий comobox, который существует, потому что это поле даты, имеет этикетку над ним: «Секция будет распечатана:»
И его значение:
Combobox3: для каждого день.
OK. В моем редакторе формула, мне нужно подвести поле (в нашей группе по полю), поэтому моя формула выглядит следующим образом:
Sum({Table.Field}, {Table.OurDateFieldWeAreGroupingOn}, "daily")
Ежедневно там потому, что Группа эксперты «на каждый день». Если я изменю ComboBox3 на «для каждого месяца», строка в функции Sum должна измениться на «ежемесячно». Функция Sum существует, так что у меня есть общая сумма каждый раз, когда отчеты о кристаллах разбиваются на мою группировку.
Проблема, с которой я столкнулся, - это условие строки. Это связано с тем, что я хочу иметь возможность изменять группировку во время выполнения.
Например,
switch (grouping)
{
case Minute:
m_Rpt.DataDefinition.Groups[1].GroupOptions.Condition = 9;
break;
case Hour:
m_Rpt.DataDefinition.Groups[1].GroupOptions.Condition = 10;
break;
case Day:
m_Rpt.DataDefinition.Groups[1].GroupOptions.Condition = 0;
break;
case Week:
m_Rpt.DataDefinition.Groups[1].GroupOptions.Condition = 1;
break;
// etc, etc, etc
}
Таким образом, они позволяют мне не изменить группировку во время выполнения, никаких проблем. Во время разработки у меня было «ежедневно», но я мог сделать это «ежемесячно» (например). Btw, знает ли кто-нибудь, могу ли я заменить 9, 10, 0, 1 и т. Д., Когда некоторые Crystal Reports определяют (что-то из перечисления или что-то еще)? Я только выяснил, что «еженедельно было 1» (например), потому что это был второй элемент в «combobox3».
Будучи тем, что я могу изменить это во время выполнения? Как я могу изменить условие моей формулы?
Если бы я изменил его, во время выполнения, в неделю, я должен был бы мой Sum выглядеть следующим образом:
Sum({Table.Field}, {Table.OurDateFieldWeAreGroupingOn}, "weekly")
Проблема заключается в том, что в редакторе поля, если я использую ничего, кроме строки , Я получаю эту ошибку: «Условие группы должно быть строкой». Я пытался передать эту строку в качестве значения (например):
Sum({Table.Field}, {Table.OurDateFieldWeAreGroupingOn}, {@ValuePassedIn})
Я имею в виду, если они позволяют изменять группировку во время выполнения, я должен быть в состоянии изменить условие формул тоже правильно?