Forum Discussion
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
------------------------------
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__You11 months 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
------------------------------- ChayceDuncan11 months 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
------------------------------- MyoshiaBoykin-A11 months agoQrew Trainee
These form rules worked perfectly fine and were easy for me to implement. Thanks so very much for this.
------------------------------
Myoshia Boykin-Anderson
------------------------------
- MyoshiaBoykin-A11 months agoQrew Trainee
I am going to try this with another test form. I used the dynamic form rules that Chayce recommended. You two rock and I am so appreciative for the help (and the quick turnaround.)
------------------------------
Myoshia Boykin-Anderson
------------------------------