我是水晶报告的新手,我正在使用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代码吗?请帮我。
您不需要将此代码转换为VB。如果您有RPT文件,则可以使用ActiveReports中的内置转换器工具将Crystal报表转换为RDL。 RDL报告还具有内置表达式支持。表达式类似于MS和SSRS,并不像您提供的代码那样涉及。如果您仍然遇到问题或需要更多指导,可以在supportone.componentone.com上提交支持请求。