首页 >> 技术文章 >> InfoPath2007


在InfoPath 2007中使用 SQL Server 数据库中的值填充列表框、下拉列表框或组合框

概述

列表框、下拉列表框或组合框显示用户在填写基于您的表单模板的表单时可以选择的项目。您可以将这些类型的控件配置为显示来自 指向 Microsoft SQL Server 数据库的辅助数据连接的数据。辅助数据连接是指向某个外部数据源的任何数据连接,您可以将其添加到表单模板以便填写基于此表单模板的表单的用户可以从外部 数据源(如 Web 服务)中获取数据或将数据提交到外部数据源。

当您向表单模板添加用于查询数据的辅助数据连接时,Microsoft Office InfoPath 会创建一个辅助数据源 (数据源:为 InfoPath 表单定义和存储数据的字段和组的集合。表单中的控件绑定到数据源中的字段和组。),其中包含对应于数据库中存储数据的方式的数据域 (数据域:包含对外部数据源的查询结果的域。) (组:数据源中可包含字段和其他组的元素。包含其他控件的控件(如重复表和节)绑定到组。)。查询数据连接从 Web 服务获取数据并将这些数据存储在表单的辅助数据源中。默认情况下,辅助数据源中的数据仅在用户连接至网络时可用。您可以将辅助数据连接配置为将查询结果保存在用户的计算机上,以便用户在其表单未连接至网络时用户有权访问这些数据。

安全性  如果要使用辅助数据连接从外部数据源中检索敏感数据,可能要禁用此功能,这是为了在计算机丢失或被盗的情况下对数据进行保护,以避免未经授权的使用。如果禁用此功能,数据将仅在用户连接到网络时可用。

由于辅助数据源中的数据结构必须与数据库中存储数据的方式相匹配,因此,您不能修改辅助数据源中的现有域或组。在“请参阅”节可以找到指向有关数据连接和数据源的详细信息的链接。

 

开始之前

使用 SQL Server 数据库中的值填充表单模板上的控件之前,您需要从数据库管理员处获取以下信息:

  • 具有您将用于该表单模板的数据库的服务器的名称。
  • 您将用于该表单模板的数据库的名称。
  • 数据库所需的身份验证。数据库可以使用 Microsoft Windows 身份验证或 SQL Server 身份验证来确定用户访问数据库的方式。
  • 包含要发送到表单的数据的表的名称。这是主表。如果您计划在数据库中使用多个表,则还需要其他子表的名称。您还需要子表中与主表中的域具有关系的域的名称。
  • 是否可以安全地将查询结果存储在用户计算机上以便脱机使用。

 

步骤 1:添加查询数据连接

如果您的表单模板上没有现成的可用查询数据连接,请执行以下步骤向查询数据的表单模板添加一个辅助数据连接。如果您的表单模板已经包含可用的辅助数据连接,则可以跳过此节并转至步骤 2:配置控件。

  1. “工具”菜单上,单击“数据连接”
  2. “数据连接”对话框中,单击“添加”
  3. 在“数据连接向导”中,单击“新建连接”,单击“接收数据”,然后单击“下一步”
  4. 在向导的下一页上,单击“数据库(仅 Microsoft SQL Server 或 Microsoft Office Access)”,然后单击“下一步”
  5. 在向导的下一页上,单击“选择数据库”
  6. “选择数据源”对话框中,单击“新建源”
  7. 在向导下一页的“您想要连接哪种数据源”列表中,单击“Microsoft SQL Server”,然后单击“下一步”
  8. “服务器名称”框中,键入包含 SQL Server 数据库的服务器的名称。
  9. “登录凭据”下,执行下列操作之一:
    • 如果数据库根据 Microsoft Windows 网络中使用的凭据来确定具有访问权限的用户,请单击“使用 Windows 身份验证”
    • 如果数据库根据您从数据库管理员那里获得的指定用户名和密码来确定具有访问权限的用户,请单击“使用下列用户名和密码”,然后在“用户名”“密码”框中键入您的用户名和密码。
  10. 单击“下一步”
  11. “选择数据库”列表中,单击要使用的数据库的名称,单击“连接到指定表格”,单击主表的名称,然后单击“下一步”
  12. 在向导下一页的“文件名”框中,键入存储数据连接信息的文件的名称,然后单击“完成”以保存这些设置。
  13. 如果您计划在查询数据连接中使用其他表,可以在向导的这一页中添加它们。

    隐藏添加其他表

    1. 单击“添加表”
    2. “添加表或查询”对话框中,单击子表的名称,然后单击“下一步”。InfoPath 将尝试通过匹配两个表中的域名称来设置关系。如果不想使用建议的关系,请选择该关系,然后单击“删除关系”。要添加关系,请单击“添加关系”。在“添加关系”对话框中,单击两列中相关域的名称,然后单击“确定”
    3. 单击“完成”
    4. 要添加其他子表,请重复上述步骤。
  14. 单击“下一步”
  15. 要将查询结果存储到表单模板中,请选中“在表单模板中存储一份数据副本”复选框。选中该复选框后,查询结果就会被存储到表单模板中。由于数据存储在表单模板中,因此,即使用户的计算机没有连接到网络中,也可以在用户所填表单中获取这些数据。

    安全性  选中此复选框可以在表单模板中存储查询结果。由于数据存储在表单模板中,所以这些数据在用户填写的表单中可用,即使用户的计算机没有连接到网络也是如此。如果要使用此数据连接来获取敏感数据,最好禁用此功能,以帮助在计算机丢失或被盗的情况下保护数据。

  16. 单击“下一步”
  17. 在向导的下一页上,键入该辅助数据连接的说明性名称。如果要在表单打开时自动接收数据,请选中“在打开表单时自动检索数据”复选框。

 

步骤 2:配置控件

  1. 如果表单模板有多个视图,请单击“视图”菜单上的视图名称,以转到具有控件的视图中,在此要显示辅助数据源中的数据。
  2. 双击要填充的列表框、下拉列表或组合框。
  3. 单击“数据”选项卡。
  4. “列表框项”下,单击“从外部数据源查找值”
  5. “数据源”列表中,单击要使用的数据源。
  6. 单击“项”框旁边的“选择 XPath”
  7. “选择域或组”对话框中,通过执行下列操作之一来指定将哪些数据显示给用户,以及将哪些数据提交至外部数据源。

    隐藏指定用户看到的数据与用户提交的数据相同

    • 单击某个域,再单击“确定”

    隐藏指定用户看到的数据不同于用户提交的数据

     注释   在这种情况下,用户将要看到的数据来自组中的某个域,而用户将要提交的数据位于同一组的另一个域中。

    1. 单击某个组,再单击“确定”
    2. 控件 属性”对话框中,单击“值”框旁边的“选择 XPath”
    3. “选择域或组”对话框中,单击包含用户将要提交到外部数据源的数据的域,再单击“确定”
    4. 控件 属性”对话框中,单击“显示名称”框旁边的“选择 XPath”
    5. “选择域或组”对话框中,单击包含将要显示在控件中的数据的域,再单击“确定”
  8. 如果“显示名称”框中的域包含具有相似显示名称的值,而您希望仅显示唯一名称,则请选中“仅显示具有唯一显示名称的条目”复选框。

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

时间:2007-7-25 21:22:18,点击:0打印】【关闭

上一篇:在InfoPath 2007中插入列表框
下一篇:在InfoPath 2007中插入下拉列表框

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

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


相关评论

*游客*
如何做两个下拉框的联动

2008-9-26 10:35:34 IP:[123.232.*.*]

*游客*
非常明了,谢谢帮助

2008-7-10 15:56:03 IP:[207.46.*.*]

我要评论

查看所有评论内容

评论内容