设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

InfoPath有关更新现有表单模板的简介(转载)

[复制链接]
跳转到指定楼层
1#
发表于 2008-10-4 13:43:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
发布更改过的表单模板后,InfoPath 会同时更新以该表单模板为基础的表单模板(.xsn 文件)及任何现有表单(.xml 文件)。默认情况下,InfoPath 会自动将旧版本的表单模板替换为最新版本。您可以根据需要选择现有用户表单的更新方法。


InfoPath 如何更新表单模板当用户首次打开基于表单模板的表单时,基础表单模板文件将存储在用户计算机上的一个临时位置中。此临时位置称为缓存。此外,缓存位置还允许脱机用户使用表单模板的本地副本。
每当有新版本时,InfoPath 将更新表单模板的缓存版本。用户一打开表单的新版本,这一更新即会自动进行。如果在您发布更新的表单模板时,用户刚好在脱机工作,则会在用户下一次连接到网络时进行更新。
用户通常注意不到进行的自动更新,不过,您也可在设计表单模板时指定其他更新方式。
注释 自定义安装的表单模板是通过 Microsoft Windows Installer (MSI) 软件包或其他安装程序安装在用户计算机上的表单模板。对于这种表单模板,每次进行更新时您都必须在用户的计算机上手动重新安装表单模板。通过 Microsoft Systems Management Server (SMS) 2003 等程序、桌面对桌面部署或者某种安装脚本,可自动完成安装。
更新启用浏览器功能的表单模板时的注意事项所有启用浏览器功能的表单模板承载于运行 InfoPath Forms Services 的服务器上,这是构建于 Microsoft Windows SharePoint Services 3.0 之上的服务器技术。以下两种部署模式需要将表单模板承载于运行 InfoPath Forms Services 的服务器上:最终用户部署和管理部署。在更新启用浏览器功能的表单模板时,请考虑以下几点:
  • 如果计划更新经管理员核准的表单模板,则必须发布已更新的表单模板,并将它提供给 Windows SharePoint Services 3.0 场管理员,以部署到网站集的表单库中。网站集是虚拟服务器上的一组网站,它们的所有者相同且共享管理设置。当场管理员部署更新的表单模板时,可以指定“并行”升级选项,该选项允许表单的更新版本与原始版本一起运行。如果使用此升级选项,部署更新版本时仍在填写表单的用户就能继续填完表单,而不会丢失任何数据。
  • 您自己已将表单模板部署到 Windows SharePoint Services 3.0 库或列表中,如果在发布对该表单模板的更新时,用户刚好正在填写基于该表单模板的表单,那么用户会在尝试保存或提交表单时看到一条错误消息。为此,您可以提醒用户即将进行哪些更新,或许还可以在非高峰时间对表单模板进行脱机更新。

帮助避免丢失现有用户表单中的数据如果需要更新现有的表单模板,可以对其进行更改、重新发布,并重新分发给用户。但是,某些类型的更改会阻止您访问基于原始表单模板的已完成表单中的数据。
如果您对表单模板所做的更改可能导致已填好表单中的数据丢失或出现错误,则会显示一条消息。向表单模板中添加新的必填字段,或者重命名或删除表单模板中的字段或组时,经常会显示这种消息。

在收到这种消息时,如果单击“是”并继续进行更改,则在更新的表单模板发布后,您可能无法访问现有表单中的数据。在某些情况下,这是可以接受的。您需要确定针对所面临的情况应采取相应的措施。
为了帮助您确保对已从用户那里收集的数据的访问,请在对更改原始表单模板时遵循以下指导原则:
  • 不要重命名数据源中现有的字段和组。
  • 不要在数据源中移动现有字段和组。
  • 不要删除数据源中现有的字段和组。只要在数据源中保留控件相应的字段或组,您就可以从表单模板中删除控件,而不会导致任何问题。
用于更新现有用户表单的选项当您更改现有表单模板时,基于该表单模板的现有表单(.xml 文件)可能也需要更新,以使它们能够使用表单模板的最新版本。这样可确保用户继续使用现有表单,不会出现任何问题,而且,您也可继续访问在这些表单中收集的数据。在更新现有的用户表单时,共有三种方法供您选择:
  • 自动更新表单 由 InfoPath 自动更新现有表单,这是默认设置。在此情况下,现有的所有表单将与新更新的表单模板匹配。例如,如果在表单模板上删除了列表框控件并发布修改后的表单模板,InfoPath 将从现有的所有表单上自动删除列表框控件。
  • 使用代码更新表单 具备专业技术知识的人员可以通过编写代码来处理 OnVersionUpgrade 事件,当打开的表单版本号比它基于的表单模板的版本号低时,就会发生该事件。例如,在零用金报销单表单中,您可使用 OnVersionUpgrade 事件处理程序确定版本号较低的表单是否包含名为 emailAddress 的域,如果不包含,则将该域添加到表单中。如果要将改动汇集到表单模板基于的 XML 架构中,则适合使用 OnVersionUpgrade 事件。
  • 选择不更新表单 您可以选择不更新现有的表单。选择此选项后,用户便可以填写基于已更新的表单模板的表单,但可能无法打开现有的表单。如果用户能够打开现有的表单,则无法编辑任何新增的域。
转载自:http://www.officelesson.com/InfoPath/2008918/9186919.html
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 19:46 , Processed in 0.074362 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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