this might help
When you publish an InfoPath form and you have a promoted field, by default a user cannot edit that field directly in the Form Library. It is a read-only column. But, if you modify the Column you want to promote, you will see a tick box option available to you:
"Allow users to edit data in this field by using a datasheet or properties page"
When you select this option, you make the field value editable in the Form Library. For a detailed explanation of how to set this option, see David Gerhardt's blog: Promoting Editable SharePoint Columns.
I seem to remember having to do this with one of our projects. Not sure if he'll respond to this or not. I think you actually have to write the values to the form XML directly rather than to a list.
Also, what are your reasons for using a Forms library? Maybe we can avoid this problem altogether if we can come up with a solution that uses a list instead.
Just to add, I am right in my thinking.
A forms library just contains documents and the promoted columns are just XPATH references. They do not write back to the form. You'll need to edit the XML, which can be done with Nintex but it's really not pretty.
All the help is fantastic and I really appreciate it. I've been in IT for 19 years and have never seen a user community so willing to help. As far as the reason for using a Forms Library, I'm honestly not sure. I just started a few weeks ago doing SharePoint work. I provide a form to the SharePoint group in our organization and they publish it for me. I'm stuck following whatever process they lay in front of me and this is how they published my form. I wish I had a better answer, but this is the world I work in currently. I don't know enough about SharePoint, yet, to say what solution in SharePoint is a better solution for what I'm trying to develop.
Again, thanks for all the replies. Here is the solution I eventually came to yesterday before I got all these replies. So, I'm still using the "Set Field Value" action and this does change the value in the column for me. To get the value into the form in InfoPath 2013, I had to use a Form Load rule. The Form Load rule queries columns in the Form Library. The rule also takes those values for that particular form ID and places the values in the form when it is opened. I don't know how efficient this method is, but it's getting the job done.
Well you can tell us what sort of functionality and controls are being used in the form and what the output is and we could help advise from that. But that would be best in a separate thread.
Your solution (as far as it can be called that) is to use Nintex XML actions.
This link gives you details about the Update XML action. You'll need to enter the URL of the Infopath form, so https://domain/sites/sitename/formlibrary/formname.xsn (I think it's the xsn file you edit) then locate the XPATH of the field you want to update and put in the value you want to update it with. Most like it'll be using the "Replace node contents" setting.
If your issue has been solved on this thread, please mark the correct answer as such.