Survey123 Publish Error: Using Parent-Only Field in Child Survey for Instance Name

302
3
Jump to solution
03-16-2026 06:39 PM
gC17
by
New Contributor

Hi all,

I’m encountering an issue when trying to publish a Survey123 form that involves a parent–child table setup in an ArcGIS feature service, and I’d like some guidance.

Setup:

  • The feature service has two tables: BiocontrolSite (parent) and Monitoring (child).

  • I have a field (ReleaseDate) which only exists in the parent table (BiocontrolSite), not in the child table (Monitoring).

  • However goal was to include ReleaseDate in the child survey so that it could be used as part of the instance name.

Problem:

  1. If I include ReleaseDate in the child survey, I then get:
    "ReleaseDate in BiocontrolSite is not editable"

  2. When I remove ReleaseDate in the child survey, publishing fails with:
    "fields not found in the feature: 1"

Questions:

  • How can I handle parent-only fields when building a child survey in Survey123?

  • Is there a recommended method to use a parent field (like ReleaseDate) in the child survey for the instance name without causing publish errors?

  • Are there known limitations in Survey123 for editing or referencing parent fields in child records?

Any guidance, examples, or best practices for parent–child relationships and parent-only fields in Survey123 would be greatly appreciated. I guess a last resort would be to change the ReleaseDate field to editable but I want to see if there's an alternative fix first.

Thanks in advance!

0 Kudos
1 Solution

Accepted Solutions
gC17
by
New Contributor

Thanks so much to the contributors of this post, really appreciate your time on this. I have found a solution to the problem I wanted to share in case anyone else encounters this: We found that if you change the 'readonly' status to yes (which I had tried individually at one point, and still received an error) AND if you change the 'bind::esri:fieldType' to 'null', this allowed me to publish the survey with no errors, and it has allowed the ReleaseDate to remain in the instance name correctly.

Before coming to this solution - I had tried using pulldata() to automatically pull ReleaseDate from the parent table into the child survey for the instance name, but it caused an error (unfortunately I can't quite remember exactly what this was), but I think the essence of the error was that it couldn't reference a field that did not exist in the child survey (I'm not sure if this how I had set it up, or if it is a version limitation as we are not on the latest survey123 version).

Thanks so much again for your time/expertise!

View solution in original post

0 Kudos
3 Replies
AnthonyRyanEQL
Frequent Contributor

Interested in what other people say but my first thought of populating the ReleaseDate in the child table (survey repeat) is to set the calculation of that field to use the parent field's value

0 Kudos
Neal_t_k
MVP Regular Contributor

As @AnthonyRyanEQL said, you would have to populate the release date in the child table somehow or you would have to build the form on the parent layer and include the child table as a repeat to establish the relationship.

Past that would need some more information, like how is the parent/child relationship being establish if you are just adding data to the child table? How are users opening the form, collect new, inbox, or from a map/fieldmaps/custom url? Is this an existing feature service that you building the form to and can you edit the feature service or do you have to build the form to the constraints of the existing service?

Suggest review this blog post on repeats which is how Survey123 handles related layers

Survey123 Tricks of the Trade: Repeats - Esri Community

 

gC17
by
New Contributor

Thanks so much to the contributors of this post, really appreciate your time on this. I have found a solution to the problem I wanted to share in case anyone else encounters this: We found that if you change the 'readonly' status to yes (which I had tried individually at one point, and still received an error) AND if you change the 'bind::esri:fieldType' to 'null', this allowed me to publish the survey with no errors, and it has allowed the ReleaseDate to remain in the instance name correctly.

Before coming to this solution - I had tried using pulldata() to automatically pull ReleaseDate from the parent table into the child survey for the instance name, but it caused an error (unfortunately I can't quite remember exactly what this was), but I think the essence of the error was that it couldn't reference a field that did not exist in the child survey (I'm not sure if this how I had set it up, or if it is a version limitation as we are not on the latest survey123 version).

Thanks so much again for your time/expertise!

0 Kudos