如何将 Crystal 报表表达式写入 Vb 代码?

How can I write Crystal Report Expression to Vb code?

我是 crystal 报告的新手,我正在研究 Active Report Jap 9.5 版本。我最近开始研究它们,我想知道 crystal 报告表达式是否可以转换为等效的 vb 代码,以便我可以在 Active report(SSRS),(.rdlx) 中使用它们

下面的 crystal 报告表达式本身看起来有点像 vb 代码(如果我错了请纠正我)。

Crystal报表公式:

A)公式一:

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)公式二:

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);

现在我可以将这个 crystal 公式转换成 vb 代码吗? 请帮助我。

您不需要将此代码转换为 VB。如果您有 RPT 文件,您可以使用 ActiveReports 中的内置转换器工具将您的 crystal 报告转换为 RDL。 RDL 报告还具有内​​置表达式支持。这些表达式类似于 MS 和 SSRS,不像您提供的代码那样复杂。如果您仍然遇到问题,或需要更多指导,可以在 supportone.componentone.com 提交支持票。