Hello everyone,
Thanks to Palesa Sikwane's endless nagging but most importantly his ability to always help me, I finally decided to get to it, this is my first time writing a blog post. Thanks Palesa Sikwane
Did you ever have a request where by a user can't submit duplicate entries to a SharePoint list?
Well I did, given that the out of the box survey solution on SharePoint wasn’t going to help me much.
Users have to complete a survey and attach a document if necessary. The requirement was that we restrict the user to submitting one application ONLY.
After a long time of using google, i finally found a work around.
User submits and tries to submit at a later stage.
The end result is:
How did I achieve this?
Resources:
SharePoint 2016 on-premise
List library
Nintex Responsive Forms 2016
Nintex Workflow 2016
I created the list and customised the item form using Nintex's responsive form designer.
Fields:
- Staff Name
- Id Number
- Employee Number
- Position
- Department
- Highest Standard Completed At School
- Grade 12
- Grade 11
- Other
- Name of High School
- Year Completed
- Highest Tertiary Qualification
- Certificate
- Diploma
- Degree
- Post Graduate
- None
-
Field Of Specialisation / Major Of Your Tertiary Qualification
-
Year Tertiary Qualification Completed
-
Name Of The Institution
-
Are You Currently Studying?
After building my form to manage the questions for the survey adding rules for validation & to disable a field if necessary or hide the field.
When the form opens, it pre-populates the current user's details (Fields 1-5), this only occurs when the form is in New Mode.
After completing the form I submit it, I am then redirected to a Thank you page and the workflow kicks off assigning a reference number to the item.
Thank you page
Workflow
Should I try to submit the form again I have a check in the form when it loads.
In order to achieve this; I added a calculated field to the form, also I added a rule to the field, which hides the field regardless of the view. In the configuration setting of the field I added the following formula lookup(list title, column to filter on, value to filter on, output column)
lookup("Survey", "Created By",CalcName ,"Reference")
This formula basically shows that’s im querying the list "Survey", and filtering on the column "Created By" using the value from the current form "CalcName" and I'm returning the reference number.
If my calculated field return a value, the error message displays and hides the submit and cancel button.