Forum Discussion
Is your plan to allow users to 'repeat' and have lets say 2 items that are 'most' important? My suggestion on how to handle your situation is to just make (7) fields and align them all in a section together on the form so they're grouped, and add some 'text' informing the users of how to fill them out. Each of your fields would correspond to a question and the 'options' in a text-MC would be the same for each as most important to least important.
------------------------------
Chayce Duncan
------------------------------
Building on Chayce's response, my guess is you have seven different features and you want them ranked. One way to do this is to have 7 multiple-choice fields called feature number one rank, feature number two rank feature number three rank, etc. up to seven and each of these will be a multiple-choice field listing all seven possible features.
note that if you make the first field, then it's very easy to copy the field to make the other six.
But then my guess is you don't want to allow them to repeat any feature twice.
Of that is the case, you would use it formula which would be a bit repetitive, but not too bad copy paste to make sure that the same feature was not selected twice.
feel free to post back if you need help making the formula to determine if any of the features were listed twice.
------------------------------
Mark Shnier (Your Quickbase Coach)
mark.shnier@gmail.com
------------------------------
- MyoshiaBoykin-A2 years agoQrew Trainee
Your guess is exactly right: I don't want to allow them to repeat any feature twice. The plan is not to allow them to repeat a rank...so there will not be two ranks of 1, etc.
Even with written instructions informing the users, I need a way to prevent them from selecting the same rank for multiple questions.So yes, I do need help with how to program the formula based on the previous answers. My guess is it would be something like a nested IF,THEN statement like:
If Q1=rank 1, then Q2-Q7 can only be ranks 2-7
If Q1=rank 2, then Q2-Q7 can only be ranks 1,3-7, etc.
Am I thinking about this correctly???
------------------------------
Myoshia Boykin-Anderson
------------------------------- MarkShnier__You2 years agoQrew Legend
Here is a formula that should work. It seemed to test OK for me. I actually suggest you change your 7 fields to the field names I have used, paste in this formula to a formula text and then you can rename your fields to whatever you want and the formula will auto adjust to the new names.
In order to block the save on blanks or duplicate rankings, you can either use a form rule to Abort the save, or in the advanced settings you can use custom data rules.
The formula makes use of Formula Variables (see link) which makes the formula much easier to read and maintain, compared to a giant single long formula..
var bool BlankRanks =[Rank 1] = ""or[Rank 2] = ""or[Rank 3] = ""or[Rank 4] = ""or[Rank 5] = ""or[Rank 6] = ""or[Rank 7] = "";var bool RankOneDup =[Rank 1] = [Rank 2]or [Rank 1] = [Rank 3]or [Rank 1] = [Rank 4]or [Rank 1] = [Rank 5]or [Rank 1] = [Rank 6]or [Rank 1] = [Rank 7];var bool RankTwoDup =[Rank 2] = [Rank 3]or [Rank 3] = [Rank 4]or [Rank 2] = [Rank 5]or [Rank 2] = [Rank 6]or [Rank 2] = [Rank 7];var bool RankThreeDup =[Rank 3] = [Rank 4]or [Rank 3] = [Rank 5]or [Rank 3] = [Rank 6]or [Rank 2] = [Rank 7];var bool RankFourDup =[Rank 4] = [Rank 5]or [Rank 4] = [Rank 6]or [Rank 4] = [Rank 7];var bool RankFiveDup =[Rank 5] = [Rank 6]or [Rank 5] = [Rank 7];var bool RankSixDup =[Rank 6] = [Rank 7];IF($BlankRanks=true, "Please compete all 7 Rankings",$RankOneDup or $RankTwoDup or $RankThreeDup or $RankFourDupor $RankFiveDup or $RankSixDup, "Please do not Duplicate any of the 7 Rankings")
------------------------------
Mark Shnier (Your Quickbase Coach)
mark.shnier@gmail.com
------------------------------- ChayceDuncan2 years agoQrew Captain
Since you're doing it on the form you could also consider making different form rules with something like:
When Input 1 is not blank
and any of the following are true:
input 2 is equal to the value in input 1 or
input 3 is equal to the value in input 1 or
input 4 is equal to the value in input 1 or
input 5 is equal to the value in input 1 or
input 6 is equal to the value in input 1 or
input 7 is equal to the value in input 1
Change the value of Input 1 to blank
Rinse and repeat for each element swapping out the inputs with like:
When Input 2 is not blank
and any of the following are true:
input 1 is equal to the value in input 2 or
input 3 is equal to the value in input 2 or
input 4 is equal to the value in input 2 or
input 5 is equal to the value in input 2 or
input 6 is equal to the value in input 2 or
input 7 is equal to the value in input 2
Change the value of Input 2 to blank
This way it actually restricts them from entering the same value twice while they're entering data.
------------------------------
Chayce Duncan
------------------------------