设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

InfoPath数据源介绍(转载)

[复制链接]
跳转到指定楼层
1#
发表于 2008-10-7 17:24:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
数据源概述表单中显示的所有数据,无论是用户可在列表框、下拉列表框或组合框中选择的数据还是用户添加到表单中的数据,都存储在表单的数据源中。数据源由域和组构成。与硬盘中的文件夹包含和组织文件的方式相同,域包含用户在基于表单模板的表单中输入的数据,组包含并组织这些域。用户可以向表单上的控件添加数据,而这些控件绑定到相应的域。例如,假设您要为费用报表设计一个表单模板。当用户打开基于表单模板的表单时,他们可将其名、中间名和姓放在三个文本框控件中 - 每个文本框分别绑定到名的域、中间名的域和姓的域。这些名称域包含在名为“姓名”的组中。
“数据源”任务窗格中,可以查看和使用表单模板的数据源中的域和组。

1、域
2、组
虽然数据源的结构并不总是与表单模板的布局相匹配,但两者之间存在相似性,特别是对于与重复表、节、重复节和可选节关联的组和域更是如此。例如,某一个表或节绑定到数据源中的组,该表或节中的所有控件都绑定到属于该组的域。在下图中,费用报表表单中的“经费明细”重复表由三列组成,其中包括“日期”日期选取器、“说明”文本框和“成本”文本框。这些控件分别绑定到日期域、说明域和金额域。该表本身绑定到项目组。
一个表单模板可以有两种类型的数据源 - 单个主数据源,还可以有一个或多个辅助数据源。
转载自:http://www.officelesson.com/InfoPath/2008916/9162135.html
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2008-10-7 17:26:36 | 只看该作者
主数据源主数据源包含以下内容:
  • 用户在填写基于表单模板的表单时添加的数据,如用户在文本框中输入的数据。例如,用户在与主数据源中的域绑定的文本框中输入他们的名、中间名和姓。
  • 来自到数据库或 Web 服务的数据连接的数据,用于定义表单模板的数据源。
主数据源中的数据是用户在填写表单时保存或提交的数据。当用户保存表单以便稍后提交时,用户是在主数据源中保存数据。
创建主数据源创建表单模板时,Microsoft Office InfoPath 将自动为您创建主数据源。所有的 InfoPath 表单模板都包含一个主数据源。根据您创建的表单模板的类型,可以向主数据源中添加域和组:
空白表单模板 通过使用“数据源”任务窗格或通过将控件从“控件”任务窗格拖至表单模板的视图上,可以向主数据源中添加域和组。将控件拖动到视图上时,InfoPath 将根据所添加的控件的类型向主数据源中添加域和组。例如,如果将文本框控件拖动到表单模板上,InfoPath 会向主数据源中添加一个域。如果将重复节控件拖动到表单模板上,InfoPath 会向主数据源中添加一个组。如果将重复表控件拖动到表单模板上,InfoPath 会为重复表向主数据源中添加两个组,并为表中的每一列向主数据源中添加一个对应的域。
基于 XML 文档的表单模板 InfoPath 将添加映射到架构中所定义的元素或文档中的元素的域和组。
基于 Microsoft Office Access 数据库或 Microsoft SQL Server 数据库的表单模板 InfoPath 将根据数据库存储数据的方式向主数据源中添加域和组。
基于 Web 服务的表单模板 InfoPath 将添加映射到 Web 服务所提供的架构的域和组。
如果数据源(例如,Web 服务或数据库)不包含在表单模板中,则将其称为外部数据源。InfoPath 表单将通过数据连接来连接到这些外部数据源。
修改主数据源可以根据主数据源中现有的域或组向该主数据源中添加其他域和组。下表基于“数据源”任务窗格中显示的图标列出了可向现有的域或组中添加的内容。
可以添加的内容
组图标 可以向此组中添加组或域。此图标表示使用“数据源”任务窗格添加到主数据源中的组,或与此组关联的控件(该控件是从“控件”任务窗格拖至空白表单模板的视图上的)。
域图标 只能向此域中添加域。此图标表示使用“数据源”任务窗格添加到主数据源中的域,或与此域关联的控件(该控件是从“控件”任务窗格拖至空白表单模板的视图上的)。
锁定组图标 不能向此组中添加域或组。此组基于到外部数据源的数据连接。
锁定域图标 不能向此域中添加域。此域基于到外部数据源的数据连接。
如果将控件拖动到表单模板中的视图上,并且该表单模板包含基于数据连接的域和组,则必须将该控件绑定到主数据源中的现有域和组。InfoPath 不会自动向包含基于外部数据源的域和组的表单模板中添加域和组。有关添加域和组的详细信息,请在请参阅部分中查找指向这些信息的链接。
注释 如果用户已经填写了基于表单模板的表单,则对表单模板的主数据源进行如下更改会导致这些表单中丢失数据:
  • 移动、删除或重命名域或组
  • 将重复域或组更改为非重复域或组
  • 将格式文本数据类型更改为其他数据类型
对于可以修改的域和组,可以更改以下属性:
名称 域或组的名称。
名称要求
  • 主数据源中的每个名称都必须是唯一的。如果必须对多个域或组使用相同名称,则可创建对该域或组的引用。创建对域或组的引用时,InfoPath 将创建一个相同的新域或组,其属性链接至第一个域或组的属性。对一个域或组的任何更改都会自动更新其他被引用的域或组。引用组同引用域一样,包含相同的域和组并共享相同属性。
  • 名称不能包含空格。
  • 名称必须以字母字符或下划线 (_) 开头,并且只能包含字母数字字符、下划线、连字符 (-) 和句点 (.)。
除了上述要求外,最好使用可以描述域或组内容的名称。例如,如果有一个组包含经费明细,则可将该组命名为“ItemizedExpense”。对于组中包含费用金额的域,可将该域命名为“expense”。
类型 定义主数据源中的某一项是域还是组。域具有唯一值,而组包含其他域。
域和组的类型
类型何时使用
域(属性)如果满足以下一个或多个条件,则可对域使用此类型:
  • 域不能包含其他组或域。
  • 域必须在元素域中。
  • 域不是重复域。
  • 域必须始终包含值。
  • 域属于除了格式文本 (XHTML) 之外的任何数据类型。
  • 数据库或 Web 服务需要一个属性域。
域(元素)如果满足以下一个或多个条件,则可对域使用此类型:
  • 域可以包含其他属性域。
  • 域是组的一部分。
  • 域在组中重复。
  • 数据库或 Web 服务需要一个元素域。
元素域可以属于任何数据类型,并且可以具有或不具有默认值。
对可以包含其他域或组的组使用此类型。
组(选项)如果组只能包含若干种不同类型之一的域或域组,则使用此类型。 例如,假设您正在设计一个表单模板,以供美国和欧盟国家和地区的供应商使用,且该表单模板中包含一个地址选择组。其地址选择组包含一组用于美国地址的域,或一组用于欧盟国家和地区地址的域。当用户打开基于此表单模板的表单时,用户可以选择输入美国或其他国家或地区的地址。表单中将显示与相应组中的域绑定的控件。
完成 XML 架构或 XML 文档如果要向数据源中的指定位置添加其他 XML 架构或 XML 文档,请使用此元素类型。
数据类型 定义域可以存储的数据种类。
可用的数据类型列表
数据类型适用的情况
文本此数据类型用于包含无格式文本的元素或属性字段。
格式文本此数据类型用于包含带格式文本的元素字段,不能用于属性字段。
整数此数据类型用于包含没有十进制值的数字的元素或属性字段。
十进制此数据类型用于包含货币值或具有十进制值的数字的元素或属性字段。
True/False此数据类型用于包含只能是两个值之一的数据的元素或属性字段。
超链接此数据类型用于包含统一资源标识符 (URI) 的元素或属性字段,如超链接或命名空间。
日期此数据类型用于包含日历日期的元素或属性字段。
时间此数据类型用于包含 24 小时制时间的元素或属性字段。
日期和时间此数据类型用于包含日历日期和 24 小时制时间的元素或属性字段。
图片或文件附件此数据类型用于包含二进制数据(如图像或图片)的元素或属性字段。
自定义此数据类型用于具有由命名空间定义的自定义数据类型的元素或属性字段。此数据类型通常用于绑定到自定义控件的字段或组。选择此数据类型时,将启用“数据命名空间”框。
注释 此表仅显示在表单模板中最常用的 XML 数据类型。在 InfoPath 中,您可以使用 WWW 联合会 (W3C) 建议中的任何 XML 1.0 数据类型。要使用此表中未列出的数据类型,您必须提取表单模板的表单文件并编辑架构 (.xsd) 文件。有关从提取表单模板的表单文件的更多信息,请访问“请参阅”部分中的链接。
数据命名空间 定义统一资源标识符 (URI) ,以便为自定义数据类型添加命名空间。此属性可用于具有“自定义”数据类型属性的元素或属性域。向表单模板中添加自定义控件时,此属性通常包含由绑定到域的自定义控件的作者定义的值。
默认值 定义用户初次打开表单时元素或属性的初始值。您还可以向默认值添加公式,例如当前日期、数学运算或对另一个域的引用。
重复 定义元素域、属性域或组是否可在表单中出现多次。列表控件、重复节、重复表和构成重复节或重复表的控件绑定到重复域和重复组。
不能为空 定义元素或属性域是否必须包含值。如果域没有值,则绑定到此域的控件将用红色星号来标记,对于某些类型的控件,会用红色虚框来标记。此属性仅可用于域,不可用于组。
辅助数据源辅助数据源是表单中的数据源,其中包含通过到外部数据源的其他数据连接提供的数据。例如,假设您要为费用报表创建一个表单模板,并且您希望基于表单模板的表单接受以其他货币表示的费用。但是,货币数据存储在数据库中。要显示货币数据,需要添加到该数据库的数据连接。货币数据将存储在辅助数据源中,并显示在表单模板的列表框控件中。
来自其他数据连接的数据存储在辅助数据源中,可随后显示为控件(例如列表框、组合框或下拉列表框控件)的选项,以供用户在填写表单时选择。当用户在辅助数据源中选择一项时,所选内容将复制到主数据源的域中。
辅助数据源与主数据源有以下的不同之处:
  • 辅助数据源在表单模板中是可选的。所有表单模板都必须具有主数据源。
  • 一个表单模板可以有一个或多个辅助数据源,但只能有一个主数据源。
  • 辅助数据源中的域和组基于数据在外部数据源中的存储方式(外部数据源通过数据连接与表单连接)。这些域和组不能使用 InfoPath 进行修改。
  • 与主数据源不同,辅助数据源不随表单保存。
  • 当用户提交完成的表单时,通常不提交辅助数据源中的数据。但是,可以配置表单模板,以便使用规则将辅助数据源中的数据提交给 Web 服务,或使用自定义代码将其提交给电子邮件收件人。
创建辅助数据源当您通过添加到外部数据源的数据连接向表单返回数据时,InfoPath 将自动创建辅助数据源。向表单模板中添加的每个数据连接都会创建一个对应的辅助数据源。InfoPath 会采用向主数据源中添加域和组的相同方式,将域和组添加到辅助数据源中。域和组将添加到辅助数据源中,以便映射到外部数据源存储数据的方式。可以创建到以下各项的辅助数据连接:
  • Web 服务
  • XML 文件
  • Microsoft Office Access 数据库或 Microsoft SQL Server 数据库
  • 运行 Microsoft Windows SharePoint Services 的网站上的列表
向表单模板中添加数据连接并创建辅助数据源时,可在“数据源”任务窗格中查看辅助数据源中的域和组。此任务窗格中将显示每个辅助数据源,其中包含数据连接的名称,后面是括在括号中的“辅助”
3#
 楼主| 发表于 2008-10-7 17:27:00 | 只看该作者
修改辅助数据源由于辅助数据源中的域和组基于到外部数据源的数据连接,因此不能修改辅助数据源中的域和组。在“数据源”任务窗格中查看辅助数据源时,域将具有锁定域图标 ,组将具有锁定组图标 ,以表明不能对其进行修改。
了解数据源与 XML 架构之间的关系当用户填写基于表单模板的表单时,该表单的主数据源和辅助数据源将作为 XML 文档存储在用户的计算机中。XML 文档的结构由 XML 架构定义。XML 架构是基于 XML 的文件,用于定义 XML 文档的结构和元素,在此情况中,则定义表单和元素可以包含的数据。
创建表单模板时,InfoPath 将自动创建用于定义用户要填写的表单的结构的 XML 架构。数据源中的每个域或组对应于 XML 架构中的一个元素。数据源中每个域和组的属性定义生成的 XML 文档中的对应元素的结构以及每个元素可以包含的数据。在“域或组属性”对话框的“详细信息”选项卡中可以查看其他架构详细信息,通过双击“数据源”任务窗格中的域或组可以打开该对话框。

(完)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 19:17 , Processed in 0.139131 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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