Hello,
I am following the steps from this post Open List and it's working fine to ge my unique list of values in the dropdown list
However, when I Edit the survey, I "loose" the original value that was entered. How can I retain the original value when I am in edit mode?
- I've tried Calculated field , not working
Attached the section of the spreadsheet showing above.
The process is working fine with CSVs... I just would like to be able to use the "live" data from the map service as users start to add more options for each dropdowns.
Any help or suggestions would be much appreciated.
Thanks!
Your field binding is null for the question. You're using this and a calculation to populate the actual field that's hidden in the form.
It means that no field is created for the question with the drop down. No value is submitted for that question, and won't appear again when editing.
You need to consider:
You could also review the whole setup, use calculation modes, but I think it'll get messy and introduce loops. Adding the field is the most straightforward solution if you are editing these values later
Yes, I have 2 "dummy" fields as NULL used as place holder (one for the dropdown list and one for the "Other" option). I do not want to created true fields has I want to use this process for the entire survey and I have about 10 questions with dropdown list.
The current process work GREAT if I create a new entry from scratch. How could I make use of the search functionality to populate a dropdown using live data from the map service, with an Other option in case of a new value for that dropdown and retain the existing value.... all that without having to create 2 extra fields in the layer.
Thanks!
So I think to solve your issue and show what was submitted when edited you would have to unhide your "calculate" field. You could set it as read-only. Your current select-one field would remain blank on edit as it is set to "null" but the read-only field would show as the last submitted entry. However that would update on entry (which I think is the point). I made the changes in the attached.
@Neal-Kittelson , I don't think this is going to work as the calculation over write the existing value with the coalesce formula. I am probably going to need an IF statement there instead...
Could you do a pulldata @layer function to pull in the last entry and keep it independent from the current form calculations? i.e. keep your calculate field as was (hidden) and make a new note field (can even be null type) to show what is currently in the database for that particular submission? That would eliminate an funky if() interactions.
it just make the survey too cluttered.. my users will get confused with this interface.
I would probably need 2 surveys: One for initial data entry and one for data editing.
Instead of putting as a separate field, what if you put it in the label or the hint?
It's not possible to have a select_one question that also allows for raw text entry into the same question/field.
The standard solution is to have an 'other' option in the select_one drop-down that has relevancy to a second question/field. Here the user can manually enter the entry not currently available in the list.
Your current form navigates this well for new entries but won't work for editing existing values. Trying to have this setup this way will expose you to logic loops or issues updating the value later on.
I would recommend the traditional approach (select_one field + relevant other field) or just adding the fields in for your existing workflow. Or, have one form for collecting and another method for editing (be it a survey form or map viewer form).
@ChristopherCounsell The method posted by Ishmael that he references, does in fact allow for what he is describing. He is trying to do exactly what Ishmael is outlining, with the exception of showing the previous answer. The method actually does allow for editing items in the list as well as adding new entries. This method itself could cause issues in data management, multiple spellings. etc, but it does allow for editing of existing items in a live list.