Click here to Skip to main content
15,885,546 members
Articles / All Topics

Submitting an InfoPath Form to SharePoint with a Unique Filename

Rate me:
Please Sign up or sign in to vote.
5.00/5 (3 votes)
8 Jun 2009CPOL2 min read 97.7K   8   4
How to submit an InfoPath form to SharePoint without creating a different filename each time a form is resubmitted.

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.

image001.jpg

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:

image003.jpg

image004.jpg

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’.

image005.jpg

Give the data connection a name:

image006.jpg

Step 3 – Add Custom Rules to Submit Action

Go to Tools, Submit Options, and click on Rules.

image008.jpg

Add two rules as follows:

  • Rule 1 (fileNameBlank):

    image010.jpg

  • Set condition: filename is blank:

    image012.jpg

  • Set Action 1: Set field’s value filename = concat (Myfield, now()):

    Use field on the form i.e., contactName, followed by the function now() to add the date & time and give the form a unique name.

    image013.jpg

  • Set Action 2: Submit using a data connection (the one created in Step 2):

    image014.jpg

  • Rule 2 (fileNamenotBlank):

    image015.jpg

  • Set Condition: filename is not blank:

    image016.jpg

  • Set Action: Submit using a data connection (the one created in Step 2):

    image014.jpg 

You should now have the following 2 rules setup for Submitting Forms:

image017.jpg

History

  • 8th June, 2009: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
United States United States
Sr. Technical Project Manager
MBA,MCSD.NET,PMP,CSM
www.linkedin.com/in/wrightcatherine

Comments and Discussions

 
Questionfrom where you get the ContactName option Pin
Somnath8326-Jun-13 19:28
Somnath8326-Jun-13 19:28 
QuestionSubmit works but still asks me to save Pin
Ivan de Sousa28-Sep-12 5:18
Ivan de Sousa28-Sep-12 5:18 
QuestionThanks Pin
Amy Greene9-Dec-09 12:50
Amy Greene9-Dec-09 12:50 
AnswerRe: Thanks Pin
Catherine Wright10-Dec-09 11:56
Catherine Wright10-Dec-09 11:56 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.