Hopefully someone can help me with my problem.
Background I have create an InfoPath form that is to assess project risk. It allow the user to select a scenario and in return the form returns a risk class and set of actions. The actions are displayed on the form as a multi selection list box, because I was unable to display the action list in a text box.
The form is going to be used in multiple locations, thus will be published to multiple sharePoint sites across Australia and so for easy of updating all of the scenarios and actions will be loaded from a universal SharePoint list. This will then not require the republishing of the form with every update.
The Problem If a new version of the form is rolled out. E.g. any of the scenarios or actions change. I can not have any previously submitted forms change with it, as the previously submitted answers in the form may not be relevant in the old versions.
This is not an issue with the Scenario fields as they can be tagged to load only once. But the multi selection list box works differently and loads its data every time the form is opened.
The Question Is there anyway of loading the data in the multi selection list box only once?
If not is there anyway I can load data into a bulleted list or some other field that I can load only once on open of the form for the first time?
Hopefully someone can help.
I had the same issue - I don't want data in old, previously submitted forms to refresh their data for dropdown, tables, etc when they are opened in the future. They need to always use the same data they were submitted with, regardless of weather the database values have changed or not.
To do this, I first unchecked the option "Automatically populate data when the form is opened". Then I unchecked the option to tell data to expire after X amount of days - so i always know the form will have data cached.
I then created a field to serve as a marker for weather to update values from the database or not. Then I used custom code to refresh secondary datasources from the database if needed. In my form loading event, I check to see if the from has already been submitted or not using my marker field.... if not previously submitted - refresh the data - if previously submitted- do not refresh data.
On submition of the form, i set my market field to indicate the form is locked and should never update its secondary sources
Hope you get my idea. Cheers