我在我的数据库中有3列:COL1,COL2和COL3。我希望把它们放在我的报告,但动态的,如:动态列结构
IF i = 3 THEN COL3
ELSE IF i = 2 THEN COL2
ELSE IF i = 1 THEN COL1
所以结构取决于条件。所以有可能有类似以下的东西?
stringvar test:= COL;
numbervar i = 3;
{test + toText(i)}
我想捕捉异常,如果列结构在未来发生变化。
我在我的数据库中有3列:COL1,COL2和COL3。我希望把它们放在我的报告,但动态的,如:动态列结构
IF i = 3 THEN COL3
ELSE IF i = 2 THEN COL2
ELSE IF i = 1 THEN COL1
所以结构取决于条件。所以有可能有类似以下的东西?
stringvar test:= COL;
numbervar i = 3;
{test + toText(i)}
我想捕捉异常,如果列结构在未来发生变化。
That's not exactly something Crystal Reports is well equipped for。没有好的方法来使用字符串来确定不使用if-else结构的情况下抓取哪个字段。
但是,如果将来添加了COL4
,那么您仍然必须进入并更改报告,以便numbervar
可以设置为4. Crystal没有好的方法来预测可能存在或不存在的列。因此,记住if-else语句是确定要抓取哪一列的最佳方法。虽然节省的复制粘贴一点点的时间,你可以编写代码的新线路的意见和激活他们在适当的时候对时间的:
IF i = 1 THEN {table.COL1}
ELSE IF i = 2 {table.COL2}
ELSE IF i = 3 {table.COL3}
\\ ELSE IF i = 4 {table.COL4}
\\ ELSE IF i = 5 {table.COL5}
\\ ...
就像这样:
numbervar s:=0;
if {Command_1.emp_number} = 1 then
s = 3
else
s = 4;
希望它可以帮助作为指导..
在公式中使用它.. –