Introduction
InfoPath can be configured to allow users to submit an InfoPath form to a SharePoint library automatically with a unique name and without creating a different file name each time a form is resubmitted.
Summary
The following solution assumes that a SharePoint (MOSS) 2007 or SharePoint Services 3.0 library and an InfoPath 2007 template have been created.
A hidden field is added to the form template. Each form is assigned a unique filename by concatenating field(s) in the form with the now()
function. Rules are added to the Submit options to determine whether or not a filename exists, so each time a form is resubmitted, it is not saved under a different filename.
Note: An InfoPath form can be added to SharePoint by assigning a unique filename directly in the Data Connection without using a hidden field or rules, but the use of the now()
function will cause the form to be saved under a different filename each time it is resubmitted.
Steps
- Step 1 – Create a Hidden Field
- Step 2 - Add a Submit data connection
- Step 3 - Add Custom Rules to Submit action
Step 1 – Create a Hidden Field
A hidden field is a field that exists in the data source of the form but is not visible to the user.
The easiest way to create a hidden field is to drag-and-drop a text box control onto the form template’s view. Rename the text box to ‘filename’ and click OK. Then select the filename text box and hit delete to remove the field from the view.
Step 2 – Add a Submit Data Connection
Go to Tools, Data Connections and click Add. Create a new Connection to Submit data to a SharePoint document library:
Enter the document library, and click the fx button and Insert the field ‘fileName’ in order to give the form submitted the name stored under ‘fileName’. Select ‘Allow overwrite if file exists’.
Give the data connection a name:
Step 3 – Add Custom Rules to Submit Action
Go to Tools, Submit Options, and click on Rules.
Add two rules as follows:
You should now have the following 2 rules setup for Submitting Forms:
History
- 8th June, 2009: Initial post