设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 6134|回复: 6
打印 上一主题 下一主题

InfoPath将控件中的值相加、相减、相乘和相除(转载)

[复制链接]
跳转到指定楼层
1#
发表于 2008-10-7 17:53:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您可以通过使用公式,基于用户输入到其他控件中的数据计算某个控件的值,帮助用户填写基于表单模板的表单。计算可以包括将各个值相加、相减、相乘或相除。例如,如果您要设计一个电气承包商将用于申请许可证的表单模板,则可以向控件中添加一个公式,自动计算承包商必须为申请支付的总价,计算方法是将每个许可证的价格乘以申请的许可证数量。
公式定义公式是一种由值、字段或组、函数以及用于计算和显示其他值的运算符组成的 XPath 表达式。可以使用公式执行以下任务:
  • 对设计表单模板时指定的值或者用户在填写基于表单模板的表单时在控件中输入的值进行数学计算。
  • 显示特定日期和时间。
  • 在一个控件中显示用户在另一个控件中输入的值。
  • 设置字段或控件的默认值。
  • 根据使用公式计算出的值来运行规则。
公式中使用的每个 XPath 表达式都是值、函数和计算结果为单个值的运算符的组合。一个公式可以包含多个表达式。您可以将公式看作是由一个或多个短语组成的句子,每个短语都代表公式中的一个表达式。
下图显示了公式与表达式之间的关系。

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

    注释 如果您在公式中使用除法 (/) 运算符,请确保在除法运算符的前后留一个空格。如果除法运算符的前后没有空格,InfoPath 可能会将“/”解释为 XPath 位置步骤的分隔符,而不是除法运算符。
    提示 数学公式通常以整数或小数值作为参数。若要避免公式中出现空值,请在“表单选项”对话框的“高级”类别中,选中“将空值视为零”复选框。
  • 要检查公式的语法是否正确,请在“插入公式”对话框中单击“验证公式”。 公式中有错误
    单击“Microsoft Office InfoPath”对话框中的“显示详细信息”可查看公式中的错误。以下给出了解决这些错误的一些建议:
    • 如果您要在公式中使用函数,请验证所使用的函数参数是否正确。有些函数需要域或组作为参数,而其他一些函数需要指定的值作为参数。在“参阅”节中可以找到指向有关函数的详细信息的链接。
    • 删除并重新键入公式,以确保键入的公式正确。
  • 要测试所做更改,请单击“常用”工具栏上的“预览”或按 Ctrl+Shift+B。
转载自:http://www.officelesson.com/InfoPath/2008911/9117902.html
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-3-31 17:51:56 | 只看该作者
除号的问题今天刚好碰到   多谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 16:55 , Processed in 0.096515 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表