Skip to main content

I’ve fiddled around with this and don’t think it’s possible, but here goes:

I’m creating a form that includes a multiple-choice field, with a maximum of four options. The options represent modules, or “playlists,” that new employees are supposed to complete within a certain period of time. As the employee completes a playlist, or playlists, they use this form to indicate which one(s) they’ve completed and upload a copy of their completion certificate(s).

Each time the form is submitted, an entry is created (or updated, as the case may be) in a SharePoint list. For each of the four playlists, there is a Boolean field in the SharePoint list that is changed to “Yes” (checkmark) for those completed.

What I was trying to do is have the initial form read the list and, in the multiple-choice field, present only those playlists that have not been completed.

I can use an external data variable to get the data from the list and I can use a condition to narrow it down to the employee in question. What I can’t figure out is how to read the data and present only those options for which the Boolean field in the list’s line item is still “No.” I have tried several approaches but I continue to run up against the Options setting in the multi-choice field - that is, how to create and insert a variable there based on the data. I guess it’s looking for an array (?), and I don’t know how to create one.

Again, I realize this may not be possible. Thanks, all!

Hi ​@DavidAD , I believe the what you described can be done with the following steps.

  1. In Forms designer, create an external data variable which query the SharePoint list which store the completed/open playlist.
  2. The external data variable could then be filtered with condition on the said boolean column (e.g. Completed) being ‘No’.
  3. In the multi-choice control, insert the created external variable above as the options.
     

     


Thank you, ​@kokfong_tan!

That seems like a simple solution and I started to implement it, but then I realized the problem is that there are four Boolean columns in my SharePoint list, one for each of the playlists. Also, I need to find the specific employee in the list, which means I must include a condition in the external data variable so that the email address in the list matches the email address of the form initiator, to narrow it down to that one person.

Basically, it seems that I need a nested condition structure where the conditions would be the email addresses match and Boolean column A is no; or emails match and Boolean column B is no; and so on. Unfortunately, as you know, external data variables don’t allow for a nested logic structure like this.


@DavidAD I think you are right that the data variables don’t support such nested condition. A potential workaround here would be to store each playlist + employee combination as individual entries in the list, so effectively you would have 4 entries for every employee with the corresponding Boolean columns, and you would only need two simple conditions (Boolean + Employee email) in data variable to filter the result.


Reply