我是Crystal报表的新手,并且正在研究Active Report Jap 9.5版本。我最近开始研究它们,我想知道水晶报表表达式是否可以转换为等效的vb代码,因此可以在Active report(SSRS),(。rdlx)
中使用它们。下面的水晶报表表达式本身也看起来像某种vb代码(如果我错了,请纠正我)。
晶体报告公式:
A)公式1:
numberVar iDay := ToNumber(Right(Cstr({@PrntStartDate}), 2)) + 24;
select iDay
case 1 : {wk_TORIO0430_b.AcquisitionAmnt1}
case 2 : {wk_TORIO0430_b.AcquisitionAmnt2}
case 3 : {wk_TORIO0430_b.AcquisitionAmnt3}
B)公式2:
numberVar iDay;
stringvar sDay;
If (12 <= ToNumber({?NoOfDays})) Then
numberVar iDay := ToNumber (Right ({?StartDate}, 2)) + 11;
if iDay < 10 then
sDay := "0" + left(Cstr(iDay), 1)
else
sDay := left(Cstr(iDay), 2);
sDay + "(" + Left(WeekDayName(WeekDay(CDate (ToNumber (Left ({?StartDate},4)),ToNumber (Mid ({?StartDate}, 5, 2)) , iDay))), 1) + ")";
C)公式3:
numberVar iPos1 := InStr({?StartDate}, "年");
numberVar iPos2 := InStr({?StartDate}, "月");
numberVar iPos3 := InStr({?StartDate}, "日");
stringVar sYr := left ({?StartDate}, 2);
stringVar sMonth := mid ({?StartDate}, iPos1 + 2, (((iPos2) - (iPos1)-3)));
sMonth := IIF (Length(sMonth) = 1, "0" + sMonth, sMonth);
stringVar sDay := mid ({?StartDate}, iPos2 + 2, (((iPos3) - (iPos2)-3)));
sDay := IIF (Length(sDay) = 1, "0" + sDay, sDay);
现在我可以将此晶体公式转换为VB代码吗? 请帮助我。
答案 0 :(得分:0)
您无需将此代码转换为VB。如果您有RPT文件,则可以使用ActiveReports中的内置转换器工具将Crystal报表转换为RDL。 RDL报告还具有内置的表达式支持。表达式类似于MS和SSRS,但不像您提供的代码那样复杂。如果您仍然遇到问题或需要更多指导,可以在supportone.componentone.com上提交支持票。