Office中国论坛/Access中国论坛

标题: InfoPath将控件中的值相加、相减、相乘和相除(转载) [打印本页]

作者: ghosty    时间: 2008-10-7 17:53
标题: InfoPath将控件中的值相加、相减、相乘和相除(转载)
您可以通过使用公式,基于用户输入到其他控件中的数据计算某个控件的值,帮助用户填写基于表单模板的表单。计算可以包括将各个值相加、相减、相乘或相除。例如,如果您要设计一个电气承包商将用于申请许可证的表单模板,则可以向控件中添加一个公式,自动计算承包商必须为申请支付的总价,计算方法是将每个许可证的价格乘以申请的许可证数量。
公式定义公式是一种由值、字段或组、函数以及用于计算和显示其他值的运算符组成的 XPath 表达式。可以使用公式执行以下任务:
公式中使用的每个 XPath 表达式都是值、函数和计算结果为单个值的运算符的组合。一个公式可以包含多个表达式。您可以将公式看作是由一个或多个短语组成的句子,每个短语都代表公式中的一个表达式。
下图显示了公式与表达式之间的关系。

函数是一种根据计算结果返回值的表达式。函数中使用的值称为“参数”。您可以使用 InfoPath 中包含的标准 XPath 1.0 函数,也可以使用某些特定于 InfoPath 的函数。有关 InfoPath 函数的更多信息,请访问“请参阅”部分中的链接。
在公式中使用两个或更多运算符当公式包含两个或多个数学运算符时,InfoPath 将根据运算符的优先级进行计算。下表显示了执行运算的顺序:
如果公式包含两个具有相同优先级的运算符,则将按照从左到右的顺序进行计算。
例如,假设您要创建一个许可证申请表单模板,其中包含一个文本框用于显示申请中提交的所有许可证的总成本。此公式需要的值来自表单中的其他文本框。显示总成本的文本框包含以下公式:
txtPermit1Qty * txtPermitCost1 + txtPermit2Qty * txtPermitCost2 /txtNumberOfPermits
该公式包括加法 (+)、乘法 (*) 和除法 (/) 运算符。根据运算符的优先级,乘法和除法计算在加法计算之前进行。由于乘法和除法运算符具有相同的优先级,而乘法运算符位于除法运算符的左侧,所以乘法计算在除法运算符之前进行。该公式按照以下方式计算:
若要控制计算顺序,请将要首先进行的计算括在括号中。括号中的计算在括号外的计算之前进行。将使用括号的计算放到没有使用括号的计算的左侧。嵌套括号中的计算按照从内部括号到外部括号的顺序执行。
以下面的公式为例:
((txtPermit1Qty * txtPermitCost1) + (txtPermit2Qty * txtPermitCost2))/txtNumberOfPermits
在此计算中,由 txtPermit1QtytxtPemitCost1 中的值相乘得出的值将与由 txtPermit2QtytxtPermitCost2 中的值相乘得出的值相加。然后,该计算的和再除以 txtNumberOfPermits 中的值。
向控件中插入数学公式转载自:http://www.officelesson.com/InfoPath/2008911/9117902.html
作者: yujingjean    时间: 2009-3-31 17:51
除号的问题今天刚好碰到   多谢




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3