您可以使用 Microsoft Office InfoPath 2007 中的公式 向表单模板上控件中的日期自动添加特定的天数。
本文说明如何使用 addDays 和 today 函数向日期添加特定天数并在表单上的控件中显示结果。
本文内容
什么是公式?
公式是一种由值、字段或组、函数以及用于计算和显示其他值的运算符组成的 XPath 表达式。可以使用公式执行以下任务:
- 对设计表单模板时指定的值或者用户在填写基于表单模板的表单时在控件中输入的值进行数学计算。
- 显示特定日期和时间。
- 在一个控件中显示用户在另一个控件中输入的值。
- 设置字段或控件的默认值。
- 根据使用公式计算出的值来运行规则。
公式中使用的每个 XPath 表达式都是值、函数和计算结果为单个值的运算符的组合。一个公式可以包含多个表达式。您可以将公式看作是由一个或多个短语组成的句子,每个短语都代表公式中的一个表达式。
下图显示了公式与表达式之间的关系。
函数是一种根据计算结果返回值的表达式。函数中使用的值称为“参数”。您可以使用 InfoPath 中包含的标准 XPath 1.0 函数,也可以使用某些特定于 InfoPath 的函数。有关 InfoPath 函数的更多信息,请访问“请参阅”部分中的链接。
步骤 1:插入默认显示当前日期的日期选取器控件
显然,日期选取器控件是为存储日期而设计的。为了向用户输入到控件中的日期添加特定天数,首先必须在表单模板中添加日期选取器控件,然后创建使用 today 函数的公式,这样就能在该控件中默认显示当前日期。
- 在表单模板中,单击要在其中插入日期选取器的位置。
- 如果看不到“控件”任务窗格,请单击“插入”菜单上的“其他控件”,或按 Alt+I、C。
- 在“控件”任务窗格的“插入控件”下,单击“日期选取器”。
- 在表单模板中,在刚插入的日期选取器控件前键入 Today's Date。
- 双击刚插入的日期选取器控件。
- 单击“数据”选项卡。
- 在“域名称”框中,键入域的名称。
提示 最好使用域内容的描述性名称,这样的名称便于您和修改表单模板的任何用户了解表单模板的内容。例如,您可以键入 dteToday。
- 单击“应用”。
- 单击“插入公式”。
- 在“插入公式”对话框中,单击“插入函数”。
- 在“插入函数”对话框的“类别”下,单击“日期和时间”,然后在“函数”下,单击“today”。
步骤 2:插入包含 addDays 函数的文本框
在添加了日期选取器控件并创建使用 today 函数的公式后,即可在表单模板中添加文本框,然后创建使用 addDays 函数的公式。
- 在表单模板上,单击要插入文本框的位置。
- 如果看不到“控件”任务窗格,请单击“插入”菜单上的“其他控件”,或按 Alt+I、C。
- 在“控件”任务窗格的“插入控件”下,单击“文本框”。
- 在表单模板中,在刚插入的文本框控件前键入 30 Days Later。
- 双击刚插入的文本框。
- 单击“数据”选项卡。
- 在“域名称”框中,键入域的名称,然后单击“应用”。
提示 最好使用域内容的描述性名称,这样的名称便于您和修改表单模板的任何用户了解表单模板的内容。例如,您可以键入 txtAdd30Days。
- 单击“插入公式”。
- 在“插入公式”对话框中,单击“插入函数”。
- 在“插入函数”对话框的“类别”下,单击“日期和时间”,然后在“函数”下,单击“addDays”。
- 单击“确定”。
- 在“公式”框中,双击第一个“双击以插入域”。
- 在“选择域或组”对话框中,单击“dteToday”,再单击“确定”。
- 单击第二个“双击以插入域”,按 Delete,然后键入要向当前日期添加的天数。例如,如果要向 today's date 添加 30 天,则键入 30。
- 要测试是否正确输入了公式,请单击“验证公式”。
我的公式包含错误
单击“Microsoft Office InfoPath”对话框中的“显示详细信息”可查看公式中的错误。下面是解决这些错误的一些建议:- 如果您的公式中使用了函数,请验证函数是否使用了正确的参数。某些函数需要域或组用作参数,而其他函数需要将指定值用作参数。在请参阅部分中可以找到有关函数的详细信息的链接。
- 删除并重新键入公式,以确保正确键入公式。
步骤 3:更改日期在文本框中的显示方式
在添加了文本框并创建用于显示新日期的公式后,即可设置日期在文本框中的显示格式。
- 在表单模板中,双击该文本框。
- 单击“数据”选项卡。
- 在“日期类型”列表中,单击“日期(date)”,然后单击“格式”。
- 在“日期显示格式”列表中,单击所需的显示样式。
注释 带星号的显示样式将根据用户的系统设置进行更新。
- 要测试所做更改,请单击“常用”工具栏上的“预览”或按 Ctrl+Shift+B。