如何显示哪些用户在表单库中填写了表单?

时间:2009-08-05 15:27:10

标签: sharepoint sharepoint-2007 infopath report form-library

我在Sharepoint 2007网站上有10个表单库。

该网站供20名“学者”使用。任何学者(或帮助他们的十几种秘书类型中的任何一种)都可以进入任何表格库,点击[新]获取信息表格,从下拉列表字段中选择适当的学者名称,填写剩下的表单并单击[提交]。然后保存表单(表单的标题是从下拉列表中选择的学者名称)。

本网站的所有者希望能够生成一份报告(在任何特定时间),该报告列出了所有20名学者以及每个学者已完成的10个表格中的哪一个。

......................Form1...........Form2............Form3.........etc....Form10  
Scholar Ann Adams.....completed.......not complted.....completed............not completed  
Scholar Beth Baker....completed.......completed........not completed........completed  
etc. 

关于如何实现自动化的任何想法?

1 个答案:

答案 0 :(得分:0)

对于类似的内容,我会使用 ItemUpdated 事件接收器将已更新表单的人员的详细信息写入单独的审计列表。然后,您只需查询审核列表即可获得所需的报告。

要实现此目的,首先要创建包含表单名称和用户名(以及您认为对日志有用的任何其他内容)的字段的审核列表。然后创建一个从SPItemEventReceiver派生的事件接收器。接收器只需要处理表单库。在事件接收器中,覆盖ItemUpdated方法以检查已更新的项是否为表单,如果是,则记录已更新的表单的名称以及将其更新到审计列表的用户。

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spitemeventreceiver.aspx有一个非常类似的例子,虽然它使用ItemAttachmentAdded方法而不是ItemUpdated。

可能对您有用的其他一些教程是herehere