0

Is there a way to extract data from a repeating table in a workflow? I know its possible with drop downs and then merging the results, but it doesn't seem possible to do with just text boxes.

So I got this repeating section: enter image description here

I made a simple workflow that emails me the results and i get the first entry of everything, except for the Site section (a dropdown with choices of Development, Perfomance, Production, etc.), and nothing for Contract/Program/Project.

enter image description here

(obviously dummy data hahaha)

Any idea how to extract all the values entered?

P.S. Cant use any code....

  • Is your issue that you need all the data from every cell, or that you aren't collecting all the data from the first row properly? – panic Jul 27 '17 at 16:12
  • @panic collecting the data from every cell. – Joel Cruz Jul 27 '17 at 17:23
  • How are you getting your information into your workflow? Are you promoting fields in InfoPath? – panic Jul 27 '17 at 18:10
  • @panic Yes I'm promoting fields in InfoPath – Joel Cruz Jul 27 '17 at 18:11
1

You can use the double eval trick in InfoPath. I recently used it to make a comma delimited list of the second column in my repeating table. If you are trying to make a list like you have shown (first of every column) from all the data in a repeating table, I do not believe this can be done without code.

A link to a guide on how to use the double eval trick is here at msdn.microsoft.com. Although this example uses email addressees as the subject, it will work for your repeating table.

eval(eval([Named Repeating Table], "concat(my:Field, ';')"), "..")

I've adapted the function for you. Essentially, make a new text box, and set the default value to this function. Then, as you can see, you can "Insert Field" of your repeating table where [Named Repeating Table] is. "my:Field" Must be typed manually, and must correspond to your named field inside the repeating table. This text box will produce a result like:

First Entry;Second Entry;Third Entry;Fourth Entry;

If you want to format the way it produces the entries in the text box, for example adding a space in between each entry, simply edit this portion here:

"concat(my:Field, ';')"

Where, for example, if you wanted a comma instead of a semicolon, and a space afterwards it would look like:

"concat(my:Field, ', ')"

Now, this of course, is for one text box. You would need to do this for every text box, and promote those text boxes too.

Now, I'm not sure how this would apply to your email, but if you were to include the whole repeating table, it would look like:

10.10.10.10;10.10.10.11;10.10.10.12;

Windows;Linux;Windows;

Admin;Admin;Admin;

If you were to include each promoted text box in your email.

Unfortunately due to the nature of repeating tables, without code, you cannot simply pluck a row at a time (except for the first row, using the first function.) so this is the only solution to obtain the data from your repeating table. You could, perhaps, format the text boxes a little better for visibility, like using a different character such as | to separate the values, and adding a space after the character.

  • This did the trick. I remembered when i first was learning about repeating tables I came across this, but when i was google searching I couldn't find this method again. Thank you so much for the help. – Joel Cruz Jul 31 '17 at 13:40
  • It's my pleasure! – panic Aug 1 '17 at 13:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.