再谈表达式计算

前面的章节已经提到,可以在Excel报表中直接进行表达式计算,表达式用符号"<"和">"括起来。

例如:

<"编号:" & [编号]>

<CUMoney([金额])>

不过下面两个表达式却不能正常计算:

<[%Sum(金额)] & "元">

<CUMoney([%Sum(金额)])>

[%Sum(金额)]这种用于数据统计的格式,在表达式中出现的时候,必须用符号*括起来,所以上面两个表达式应该修改为:

<*[%Sum(金额)]* & "元">

<CUMoney(*[%Sum(金额)]*)>

实际上除了[列名]这种标准数据引用格式外,所有其他格式,在表达式中出现的时候,都必须用符号*括起来。

下面我们来总结一下这些非标准的格式。

正如前面所言,数据统计格式在表达式中出现的时候,必须用符号*括起来,例如下面的表达式是错误的:

<Round([%Sum(金额)] /10000,2) & "万元">

正确的表达式为:

<Round(*[%Sum(金额)]* /10000,2) & "万元">

我们在学习标签打印的时候,已经知道下面的格式:

[列名+X]

表示细节区数据行之后的第X行,X是个整数,例如:

[数量+2]

表示细节区数据行之后第2行的数量列。

这种跨行引用数据的格式参与表达式计算的时候,也必须用符号*括起来,例如:

<IIF(*[数量+1]* > 100, *[数量+1]*, 0)>

此外,直接引用格式在表达式中出现的时候,也必须用符号*括起来,例如:

<"单号:" & *[@任务,单号,+0]*>

同样,表达式中引用父表数据的格式,也必须用符号*括起来,例如要在订单表的细节区的表达式中,引用父表产品表中的产品名称:

<"品名" & *[产品,产品名称]*>


本页地址:http://www.foxtable.com/webhelp/topics/2117.htm