-
Why not just use InfoPath's built-in validation features?
-
The answer to your second question is easier. You can use:
eval(eval(EmployeeDetail[my:Employee != 'Jon'], 'concat(my:Employee, "; ")'), '..')
If you don't want a last semicolon at the end, you can do this:
substring(eval(eval(EmployeeDetail[my:Employee != 'Jon'], 'concat("; ", ...
-
Is Price an actual field, or just a calculated value displayed in your form. If it's not an actual field, you can do this:
sum(eval(RepeatingField, "my:Quantity * my:UnitPrice"))
-
I'm not sure why you'd want to avoid using a secondary XML file connection. They don't really have any downsides to speak of. Your approach will work to process up to about 16 or less names, at which point InfoPath will give up with an error. So if you do go with that approach, please test it to ensure that it ...
-
Ok, the right side was cut off, but I assume that Project_Name2 is the first node under group7, yes?
Please try using this as the default value formula for Project_Name2:
/my:myFields/my:group3/my:group4[count(preceding-sibling::my:group4) = count(current()/../preceding-sibling::my:group7)]/my:Project_Name1
-
Your data source is the hierarchical structure of your form's fields, shown in the taskpane. Can you attach a screenshot of that?
-
Sorry, I didn't read your question clearly enough and realize that you were using two repeating tables. Could you attach a screenshot of your data source?
-
translate() is case-sensitive and that might account for your seemingly conflicting results.
I'm attaching a form that uses a secondary XML data source as a staging area for breaking down the list and then building it back up. I've included the secondary source's contents in the view so you can see what's going on behind the ...
-
You can just place a rule on the Project_Name field that sets the valut of Project_Name2 to the value of Project_Name. That should work.
-
Could you attach a screenshot of your data source?