resolve repeating table emails in data connection conditionally - InfoPath Dev
in

InfoPath Dev

resolve repeating table emails in data connection conditionally

Last post 02-06-2009 02:03 PM by ErnestoM. 3 replies.
Page 1 of 1 (4 items)
Sort Posts: Previous Next
  • 02-06-2009 10:58 AM

    resolve repeating table emails in data connection conditionally

    Hi!

    I am using a pair of evals to resolve all emails in a repeating table in the recipient line of an email data connection:
     

    eval(eval(REPEATINGTABLE, 'concat(my:EMAILRECIPIENT, ";")'), "..")

    It works well (though I hear rumors of trouble after line 125). BUT, I need to resolve the emails only if a directly-related text box in the repeating table is blank. I understand the conditional formula as:

    concat(substring(EMAILRECIPIENT,1,(CONDITIONALFIELD="")*string-length(EMAILRECIPIENT)),("",1,(not(CONDITIONAL FIELD="")*string-length("")))

    but am totally lost on how I can marry the two. Please HELP!!

  • 02-06-2009 11:54 AM In reply to

    Re: resolve repeating table emails in data connection conditionally

    A great explanation has been posted here. Please read it, see if it helps. If you are still stuck, post back, okay?

    Hilary Stoupa

  • 02-06-2009 01:06 PM In reply to

    Re: resolve repeating table emails in data connection conditionally

    Still having trouble, working on my function, resolving NO emails testing 3 repeating entries with the first failing the condition (Resolution provided) and the second 2 meeting it (both blank)! does it modify the function if my condition is in a subordinate section within the repeating table?

    • RepeatingTable
      • Task
        • Resolution (sub section with resolution condition isblank do not resolve Email)
      • Email 

    Here is what I can gather from the other page -- added a not() to my condition. Keep in mind I was stretching my skills to find the nested eval!

    eval(eval(RepeatingTable, 'substring(concat(my:Email, ";"), 1, (my:Resolution = string(not(true()))) * string-length(concat(my:Email, ";")))'), "..")

    My head is spinning!

  • 02-06-2009 02:03 PM In reply to

    Re: resolve repeating table emails in data connection conditionally

    Here's a trick: have TWO xpaths in the repeating table for the email. Call them my:EmailStored and my:EmailSend. You don't have to show them both in the view.

    In my:EmailStored, you store ALL emails.

    In my:EmailSend, you store ONLY the emails for the rows where your directly-related text box in the repeating table is blank.

    Then eval(eval(REPEATINGTABLE, 'concat(my:EmailSend, ";")'), "..")

    And voilá.

    Ernesto Machado
    Qdabra® Software/ InfoPathDev.com
    The InfoPath Experts – Streamline data gathering to turn process into knowledge.™


Page 1 of 1 (4 items)
Copyright © 2003-2019 Qdabra Software. All rights reserved.
View our Terms of Use.