Here is an interesting problem:
While using an application you edit a record with the intention to change the value in a drop-down list. Available options are A, B, C and B is currently selected. So you change that to C and save. Now, you change your mind and try to make it B again, but option B is now missing from the available options.
Here is why this happens: the admin has edited the available options for this drop-down list and removed option B. Records using this value still show it, but after selecting a different option there is no need to show it again.
Of course this is way too unfriendly and weird. I could only think of three solutions to this problem:
- Do not allow the admin to remove options used by at least one record. The problem here is that if the admin makes a mistake while creating options, there is no way to fix it other than manually editing all records using the particular option.
- Make the admin select an option that will take the removed option’s place. E.g. “Remove option B and put option C in all records using it”. This is not always easy: imagine a field “How did you hear about us” with starting options “Internet”, “Magazine”. Now the admin wants to remove “Internet” and add “Internet: ad”, “Internet: web site”, “Internet: search”. He can’t really replace the old option with one of the new three.
- Add a small descriptive text to removed values. So the user would see these options: “A”, “B [removed]“, “C”. This way, no one has decided the new value for him and he is informed that option B is now deprecated. He can either select a new value or leave it as is. Moreover the admin has no problems in removing options.
I went with the 3rd solution which, while not super user-friendly, is at least flexible.







