• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 640
  • Last Modified:

Infopath 2010 field value update only once from SP list

Hello,

I have a SP2010 site that has a form library on it.  Everything works just fine except for one request that I cannot seem to figure out.  On the form I have nine fields that populate from a SP list.  The problem is that if a user opens a previously submitted form, those values are repopulated with the new current values in that list.  We want the values in those fields (controls) to be 'tatooed' when the form is submitted and then never change.

I cannot seem to figure out how to do this so any help is appreciated.

Any thoughts/comments are welcome.

Thanks in advance -

Brad
0
dasmail2000
Asked:
dasmail2000
  • 4
  • 2
1 Solution
 
clayfoxCommented:
Many ways to do this...

Not sure how you populate the fields when the form opens initially but if you use a rule, just make the condition that the destination fields must be blank.
That way on a new form, they are blank, and get set, but on an existing form when they already have a vlaue they do not.

If you have the fields populated by defaults, you would need to remove that and have another trigger, could be an onload rule, or when the user fills the first field or something and then use a rule with actions that can have conditions.

Hope that helps.
0
 
dasmail2000Author Commented:
Clayfox -

Thanks for the response.

Right now I am populating the with a default value.  It works fine but it populates each time the form loads so the vales can change.

I tried using an "Is blank" rule on the field without luck as the field never gets populated with anything.  (I tried having the rule set the fields' own value and even setting the value of another field - both without success.)  I tried using the Form Load rule as well - no dice there.

Maybe I am missing something....any thoughts?

Thanks
0
 
clayfoxCommented:
Make sure you delete the default from the field properties.

Otherwise it will default, have a value, before your other rules kick in.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
dasmail2000Author Commented:
Yes - i did that.  I even tried making a new dummy test control with a rule.  No dice.

Any other thoughts?

Thanks.
0
 
dasmail2000Author Commented:
Clayfox -

I finally figured out what was going on.  Even though I was already doing as you suggested without success, I now know why.  

To explain simply, let's say I have two fields (controls) - one on top of the form and one at the bottom.  The bottom control is set with a default of the username.  The top control has a default that pulls a value from a SP list where another column equlas the bottom field (simply filtering based on username).

This config works just fine.  Now we change the top control.  I remove the default value and use a rule that says "if blank, set this to be a value from a SP list where username equals bottom control" - the exact same formula we used when it was set via the default method.

This does not work.

It appers that rules process from the top down on a form.  I was able to determine that the value of "bottom control" in the filter was blank when it is processed in a rule.  The simple fix was to create another control that was defualted to username a place it before the top control.  (I tested this using an unbound control and that worked too.)

So it is a matter of the order in which things get processed.  Is there any set of rules that show how things are processed and in what order?  With this example in mind, it is pretty unclear as to what happens when.

It would appear that the followng is true:

1-a defualt value can be dependant on a value from a control further down a form
2-a rule cannot be dependant on a default value further down the form
3-a rule can be dependdant on a default value that is above it

So it cannot process default values before rules - if it did then #2 would not be true.
It must not process rules first - if it did #3 would not be true.

It appears to be circular in nature so I can't figure it out.

Thoughts?

Thanks,

Brad
0
 
dasmail2000Author Commented:
Clayfox nailed it - thanks.
(But see my last comment for some additional info.)
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now