Question

I haven't found any definitive answers to my particular dilemma - here's what I've got: I need to enforce a rule in order to prevent any one user to sign up for a class (which is one list) twice. Since the list can handle multiple class dates (from a lookup column that looks up dates in another list), one user can sign up for multiple classes, as long as they're on different dates.

My current approach would normally enforce unique values in the email column, but this won't work, since one person is allowed to sign up for different classes. So, I've created a calculated column that concatenates the email address and the class date into one text field. HOWEVER, I can't enforce unique values in a calculated column...

Any ideas on how I can make this happen?

No correct solution

OTHER TIPS

Per my knowledge this will be hard for you to create a system for registration only using SharePoint list. As I am not clear about your list, only providing some possible options.

Workflow

You can create a workflow runs when a new item is created. Check if there are duplicate items(user's application for class) depends on your scenario, then delete the newest one. No need to create a calculated column. You can use the Email column value to find other list items having the same email and check for their date(or other field you tell if it is a duplicate.

https://social.msdn.microsoft.com/Forums/sharepoint/en-US/e788b05c-8d4b-47bf-9846-e089fc8c8598/check-for-duplicate-record-using-sharepoint-disigner-workflow?forum=sharepointcustomizationprevious

InfoPath Form Rules

You can set InfoPath Rules to query list item data and check if the user has signed up already

https://social.msdn.microsoft.com/Forums/en-US/8aeeef0b-1902-4497-b85b-2e876f07399e/how-to-check-duplicate-record-using-infopath-to-submit-a-webform-to-sp2010?forum=sharepointcustomizationprevious

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top