设计基于 Microsoft SQL Server 数据库的表单模板
原文链接:http://office.microsoft.com/zh-cn/infopath/HP100866392052.aspx?mode=print
您可以设计可使用 Microsoft SQL Server 数据库来查询数据或者查询并提交数据的表单模板。
概述
一个表单可以有一个称之为主数据连接的主要数据连接,还可以有一个或多个辅助数据连接。根据表单的目标,数据连接可能会查询表单数据,也可能将表单数据提交至 Microsoft SQL Server 数据库或 Web 服务等外部数据源。
设计基于数据库的表单模板时,Microsoft Office InfoPath 会创建一个主数据源 (数据源:为 InfoPath 表单定义和存储数据的字段和组的集合。表单中的控件绑定到数据源中的字段和组。),该数据源具有包含查询域 (查询域:可包含在查询中使用的值的域。)和数据域 (数据域:包含对外部数据源的查询结果的域。)的组 (组:数据源中可包含字段和其他组的元素。包含其他控件的控件(如重复表和节)绑定到组。),还具有一个作为表单模板的主数据连接的查询数据连接。这些域和组对应于在数据库的表中存储数据的方式。查询域包含用户输入的数据,用于将查询结果限制为匹配查询域中的数据的记录。当基于该表单模板的表单使用主数据连接时,InfoPath 将通过使用查询域中的数据来创建查询。InfoPath 随后通过查询数据连接发送查询。数据库通过查询数据连接将查询的结果返回到表单。查询结果放入数据域中,可以通过绑定到这些域的控件编辑数据域。
由于查询和数据域的数据结构必须与在数据库中存储数据的方式相匹配,因此您不能修改主数据源中的这些域或组。只能向主数据域中的根组添加域或组。在“请参阅”节中可以找到指向有关数据源的详细信息的链接。
如果表单基于的表单模板以及数据库满足以下要求,则表单可以通过它的主数据连接来向数据库提交数据:
- 表单模板不是与浏览器兼容的表单模板 如果设计与浏览器兼容的表单模板,InfoPath 将不会在主数据连接中创建提交数据连接。要允许用户在基于与浏览器兼容的表单模板的表单中提交数据,请使用用于数据库的 Web 服务。
- 主数据源的每对相关表中靠左侧的表包含主键 每对相关表中都至少有一种关系必须包含来自左侧表的主键。
- 表单主数据源中的数据域都不存储大型二进制数据类型 如果查询包括可存储大型二进制数据类型(例如图片、图像、OLE 对象、文件附件、Office Access 备注数据类型或 SQL 文本数据类型)的域,InfoPath 将禁用提交数据连接。
InfoPath 启用提交数据连接之后,将允许用户将主数据源的数据域中的数据提交到数据库。如果 InfoPath 启用了提交数据连接,您就可以自定义基于该表单模板的表单的提交选项。
兼容性考虑事项
设计基于数据库的表单模板时,您可以选择设计与浏览器兼容的表单模板 (与浏览器兼容的表单模板:InfoPath 中使用特定兼容模式设计的一种表单模板。在将与浏览器兼容的表单模板发布到运行 InfoPath Forms Services 的服务器上时,该模板受到浏览器的支持。)。InfoPath 将创建一个查询数据连接,作为与浏览器兼容的表单模板中的主数据连接。但是,不能将与浏览器兼容的表单模板配置为允许用户向数据库提交数据。因此,如果您要设计基于 SQL Server 数据库的表单模板,并且希望用户通过主数据连接向数据库提交他们的表单数据,就不能使该表单模板与浏览器兼容。
开始之前
要设计基于 SQL Server 数据库的表单模板,您需要从数据库管理员那里了解以下信息:
- 包含您要将表单模板连接到的数据库的服务器的名称。
- 您将用于该表单模板的数据库的名称。
- 数据库所需的身份验证。数据库可以使用 Microsoft Windows 身份验证或 SQL Server 身份验证来确定用户访问数据库的方式。
- 包含您要发送到表单或将从表单接收的数据的表的名称。这是主表。如果您打算在数据库中使用多个表,则需要那些子表的名称。您还需要子表中与主表中的域具有关系的域的名称。
设计表单模板
要设计具有查询数据连接的表单模板,需要执行下列操作:
- 创建表单模板 创建基于数据库的表单模板时,InfoPath 会创建一个查询数据连接,作为表单模板和数据库之间的主数据连接。该过程会自动创建表单模板的主数据源。
- 添加用于显示查询结果的控件 要允许用户在打开表单时查看和编辑主数据源中的域中的数据,可以向表单模板添加一个控件,然后将该控件绑定到主数据源中的域。
步骤 1:创建表单模板
- 在“文件”菜单上,单击“设计表单模板”。
- 在“设计表单模板”对话框中的“设计新”下,单击“表单模板”。
- 在“基于”列表中,单击“数据库”。
- 如果您要设计与浏览器兼容的表单模板,请选中“仅启用浏览器兼容性功能”复选框。
注释 “数据连接向导”将不会在与浏览器兼容的表单模板中启用提交数据连接。要允许用户向数据库提交基于与浏览器兼容的表单模板的表单中的数据,请向处理该数据库的 Web 服务添加一个辅助数据连接。在请参阅节中可以找到指向有关辅助数据连接的详细信息的链接。
- 单击“确定”。
- 在“数据连接向导”中,单击“选择数据库”。
- 在“选择数据源”对话框中,单击“新建源”。
- 在“您想要连接哪种数据源”列表下,单击“Microsoft SQL Server”,然后单击“下一步”。
- 在“服务器名称”框中键入 SQL Server 数据库所在的服务器的名称。
- 在“登录凭据”下,执行下列操作之一:
- 如果数据库根据 Microsoft Windows 网络中使用的凭据来确定具有访问权限的用户,请单击“使用 Windows 身份验证”。
- 如果数据库根据您从数据库管理员那里获得的指定用户名和密码来确定具有访问权限的用户,请单击“使用下列用户名和密码”,然后在“用户名”和“密码”框中键入您的用户名和密码。
- 单击“下一步”。
- 在“选择数据库”列表中,单击想要使用的数据库的名称,选中“连接到指定表格”复选框,单击主表的名称,然后单击“下一步”。
- 在向导的下一页上,在“文件名”框中键入存储数据连接信息的文件的名称,然后单击“完成”以保存这些设置。
如果您计划在查询数据连接中使用其他表,可以在向导的这一页中添加它们。
- 单击“添加表”。
- 在“添加表或查询”对话框中,单击子表的名称,然后单击“下一步”。InfoPath 将尝试通过匹配两个表中的域名称来设置关系。如果不想使用建议的关系,请选择该关系,然后单击“删除关系”。要添加关系,请单击“添加关系”。在“添加关系”对话框中,单击两列中相关域的名称,然后单击“确定”。
- 单击“完成”。
- 要添加其他子表,请重复上述步骤。
- 单击“下一步”。
- 在向导的最后一页上,键入主数据连接的名称。该名称将显示在“数据源”任务窗格的“数据源”列表中。
- 如果您的表单模板满足概述节中的要求,向导的这一页将指示 InfoPath 已在主数据连接中启用了提交数据连接。要更改提交数据连接的名称,请在相应的框中键入新名称。如果希望您的用户通过您将在以后添加到表单模板的其他提交数据连接来提交其表单数据,请单击以清除“为该连接启用提交”复选框。
注释 如果您的表单模板不满足概述节中的要求,InfoPath 将禁用提交数据连接,且“请为该提交连接输入一个名称”框和“为该连接启用提交”复选框不可用(被禁用)。如果 InfoPath 禁用了提交数据连接,您的表单模板的主数据连接将只有一个查询数据连接。
步骤 2:将控件绑定到域
- 如果看不到“控件”任务窗格,请单击“插入”菜单上的“其他控件”,或按 Alt+I、C。
- 将控件拖动到您的表单模板上。
- 在“控件 绑定”对话框中,选择要将控件绑定到的域。
配置提交选项
如果您在“数据连接向导”中选定的表单模板和表满足概述节中的要求,InfoPath 会将您的表单模板配置为通过其主数据连接提交数据。如果您选择使用该提交数据连接,InfoPath 将对表单模板进行配置,使得用户可以将其表单数据提交到数据库,并且在用户填写表单时向“标准”工具栏添加一个“提交”按钮,并向“文件”菜单添加一个“提交”命令。InfoPath 还会对表单模板进行配置,使得当用户提交其表单时,表单保持打开,并向用户显示一条指示表单是否已成功提交的消息。您可以更改“提交”按钮上的文本以及用户提交表单之后该按钮的行为。
- 在“工具”菜单上,单击“提交选项”。
- 要更改用户填写表单时显示在“常用”工具栏上的“提交”按钮的名称和显示在“文件”菜单上的“提交”命令的名称,请在“提交选项”对话框的“标题”框中键入新名称。
提示 如果您要将键盘快捷方式指定给该按钮和命令,请在要用作键盘快捷方式的字符前键入“与”符号 (&)。例如,要指定 B 作为“提交”按钮和命令的键盘快捷方式,请键入 Su&bmit。
- 如果您不希望用户在填写表单时使用“常用”工具栏上的“提交”命令或“提交”按钮,请清除“显示提交菜单项和提交菜单栏按钮”复选框。
- 默认情况下,当用户提交表单后,InfoPath 使表单处于打开状态并且显示消息以指示表单是否成功提交。要更改此默认行为,请单击“高级”,然后执行下列操作之一:
- 要在用户提交完成的表单后关闭表单或创建新的空白表单,请在“提交后”列表中单击所需的选项。
- 要创建自定义消息以指示表单是否成功提交,请选中“使用自定义消息”复选框,然后在“成功时”和“失败时”框中键入您的消息。
提示 使用“失败时”框中的消息告诉用户在无法提交表单时执行的操作。例如,您可以建议用户保存表单并与某人联系以获得进一步说明。
- 如果您不希望在用户提交表单后显示消息,请清除“显示成功和失败消息”复选框。
This posting is provided "AS IS" with no warranties, and confers no rights.
浙公网安备 33010602011771号