首页 >> 技术文章 >> InfoPath2007


将InfoPath 2007控件中的值相加、相减、相乘和相除

您可以通过使用公式,基于用户输入到其他控件中的数据计算某个控件的值,帮助用户填写基于表单模板的表单。计算可以包括将各个值相加、相减、相乘或 相除。例如,如果您要设计一个电气承包商将用于申请许可证的表单模板,则可以向控件中添加一个公式,自动计算承包商必须为申请支付的总价,计算方法是将每 个许可证的价格乘以申请的许可证数量。

本文内容

  • 公式定义
  • 在公式中使用两个或更多运算符
  • 向控件中插入数学公式

公式定义

公式是一种由值、字段或组、函数以及用于计算和显示其他值的运算符组成的 XPath 表达式。可以使用公式执行以下任务:

  • 对设计表单模板时指定的值或者用户在填写基于表单模板的表单时在控件中输入的值进行数学计算。
  • 显示特定日期和时间。
  • 在一个控件中显示用户在另一个控件中输入的值。
  • 设置字段或控件的默认值。
  • 根据使用公式计算出的值来运行规则。

公式中使用的每个 XPath 表达式都是值、函数和计算结果为单个值的运算符的组合。一个公式可以包含多个表达式。您可以将公式看作是由一个或多个短语组成的句子,每个短语都代表公式中的一个表达式。

下图显示了公式与表达式之间的关系。

函数是一种根据计算结果返回值的表达式。函数中使用的值称为“参数”。您可以使用 InfoPath 中包含的标准 XPath 1.0 函数,也可以使用某些特定于 InfoPath 的函数。有关 InfoPath 函数的更多信息,请访问“请参阅”部分中的链接。

 

在公式中使用两个或更多运算符

当公式包含两个或多个数学运算符时,InfoPath 将根据运算符的优先级进行计算。下表显示了执行运算的顺序:

  1. 括号中的计算
  2. 乘和除计算
  3. 加和减计算
如果公式包含两个具有相同优先级的运算符,则将按照从左到右的顺序进行计算。

例如,假设您要创建一个许可证申请表单模板,其中包含一个文本框用于显示申请中提交的所有许可证的总成本。此公式需要的值来自表单中的其他文本框。显示总成本的文本框包含以下公式:

txtPermit1Qty * txtPermitCost1 + txtPermit2Qty * txtPermitCost2 /txtNumberOfPermits

该公式包括加法 (+)、乘法 (*) 和除法 (/) 运算符。根据运算符的优先级,乘法和除法计算在加法计算之前进行。由于乘法和除法运算符具有相同的优先级,而乘法运算符位于除法运算符的左侧,所以乘法计算在除法运算符之前进行。该公式按照以下方式计算:

  1. txtPermit1Qty 中的值与 txtPermitCost1 中的值相乘。
  2. txtPermit2Qty 中的值与 txtPermitCost2 中的值相乘,所得结果再除以 txtNumberOfPermits 中的值。
  3. 第 1 步中计算的结果与第 2 步中计算的结果相加。
若要控制计算顺序,请将要首先进行的计算括在括号中。括号中的计算在括号外的计算之前进行。将使用括号的计算放到没有使用括号的计算的左侧。嵌套括号中的计算按照从内部括号到外部括号的顺序执行。

以下面的公式为例:

((txtPermit1Qty * txtPermitCost1) + (txtPermit2Qty * txtPermitCost2))/txtNumberOfPermits

在此计算中,由 txtPermit1QtytxtPemitCost1 中的值相乘得出的值将与由 txtPermit2QtytxtPermitCost2 中的值相乘得出的值相加。然后,该计算的和再除以 txtNumberOfPermits 中的值。

 

向控件中插入数学公式

  1. 双击要创建公式的控件或域。
  2. 单击“数据”选项卡。
  3. 单击“插入公式”
  4. 若要在公式中插入值或数学运算符,请在“公式”框中键入值或数学运算符。

    隐藏数学运算列表

    操作符号
    +
    -
    *
    /

     注释   如果您在公式中使用除法 (/) 运算符,请确保在除法运算符的前后留一个空格。如果除法运算符的前后没有空格,InfoPath 可能会将“/”解释为 XPath 位置步骤的分隔符,而不是除法运算符。

  5.  提示   数学公式通常以整数或小数值作为参数。若要避免公式中出现空值,请在“表单选项”对话框的“高级”类别中,选中“将空值视为零”复选框。

  6. 要检查公式的语法是否正确,请在“插入公式”对话框中单击“验证公式”

    隐藏公式中有错误

    单击“Microsoft Office InfoPath”对话框中的“显示详细信息”可查看公式中的错误。以下给出了解决这些错误的一些建议:
    • 如果您要在公式中使用函数,请验证所使用的函数参数是否正确。有些函数需要域或组作为参数,而其他一些函数需要指定的值作为参数。在“参阅”节中可以找到指向有关函数的详细信息的链接。
    • 删除并重新键入公式,以确保键入的公式正确。
  7. 要测试所做更改,请单击“常用”工具栏上的“预览”或按 Ctrl+Shift+B。

声明:欢迎各大网站转载本站文章,还请保留一条能直接指向本站的超级链接,谢谢!

时间:2007-7-20 21:16:27,点击:0打印】【关闭

上一篇:InfoPath 2007中的函数
下一篇:InfoPath 2007中向日期添加天数

OfficeBa论坛】:阅读本文时遇到了什么问题,可以到论坛进行交流!Excel专家邮件:342327115@qq.com(大家在Excel使用中遇到什么问题,可以咨询此邮箱)。

【声明】:以上文章或资料除注明为Office吧自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。如有任何异议,请与本站联系,本站确认后将立即撤下。谢谢您的支持与理解!


相关评论

我要评论

查看所有评论内容

评论内容