如何将 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 提交支持票。
我是 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 提交支持票。