So, yesterday I’m working away on migrating a form we have into a SharePoint list. I build all the columns, and then start customizing the form with InfoPath. All is going well. That is, until I made changes to the list columns. I found out very quickly that you need to pay attention to when you do this in relation to the InfoPath form editing.
If I make the column changes in the list and then open the form up for editing in InfoPath, I get the following message:
Basically, the list has changed, and would you like to have your InfoPath form updated with the new list of fields? For me, the answer is yes.
The mistake I made was once again updating columns in the list, but neglecting to close the InfoPath editing session first. That gives you *this* message when you save the InfoPath form:
Basically, you changed the list columns, but the InfoPath form doesn’t know about those changes. So I’ll just overwrite the column changes and make the list match this InfoPath form, OK?
No, not really!
The two different situations make sense when I think about it, so that’s not really an issue. The problem is that it’s easy to think you’re answering the wrong question if you don’t pay close attention and just quickly choose the option to continue. Fortunately in my case, the changes I lost were to two new fields that I could quickly recreate. It could have been much worse.
Recommendation… Make sure your InfoPath editing session for the list is closed before making column changes. THEN you can open up your form and continue…
I’ve had similar a similar “issue” with SharePoint Designer and not closing a page when I’m finished editing it. I subsequently made changes to web parts on the page via the browser interface and then again made changes to the page using SPD. The last update in SPD “wipes” the changes made with the browser. As you said, makes sense after the fact but it taught me to be very cognizant of what I have open in SPD when making changes to SharePoint via a browser…
Agreed… just one more thing to try to get my “muscle memory” to take over for me. 🙂