Survey 123 Connect - Missing some basics

Jump to solution
04-03-2023 07:02 AM
Occasional Contributor III

So I am new to Survey 123 Connect.  So some of this may be that I am just missing concepts.  

The goal of this survey is to allow staff to make updates only to an existing feature layer that was created by loading a csv and publishing it.   The ability to limit it to update only so far has escaped me and since my layer (table) has a compound primary key I have not yet got the pulldata() to work.  

But just building the form has me stumped in two areas;

  1. When I set survey:appearance: Hidden the row is hidden but the form still shows the bounding boxes ?
  2. I have to collect to numeric values that are a max of six whole digits.  I put the two fields between a begin and end group type.  An the Group itself seems to have a name on the form ad is  collapsible even though it is really the only mandatory part of the form, in fact these two fields are the whole point of the form.  Additionally, the bounding boxes are random sizes that do not seem to have anything to do with the survey:bind:esri: fieldlength value.  

Appreciate any advice I can get as a newbie to Survey 123 Connect I could use a few pointers beyond the class I took. 

Survey 123 Connect Screen Capture.png




0 Kudos
1 Solution

Accepted Solutions
Occasional Contributor III


Closing this there are other threads on If Else logic.. 

View solution in original post

0 Kudos
6 Replies
by Esri Contributor
Esri Contributor

Hi Jeff,

To limit the survey to updates only, you can configure your feature layer with the desired editing permissions using ArcGIS Online or ArcGIS Enterprise. This can be done by adjusting the privileges on the hosted feature layer, so that only the specific group or individuals can edit the feature layer.

Regarding the issue with hidden rows still showing bounding boxes, this may be a bug in Survey123 Connect. You can try removing the relevant fields from the form and adding them back in to see if that resolves the issue.

To ensure that your numeric fields only allow a maximum of six digits, you can add a constraint to those fields in your XLSForm by using the relevant column and setting the "constraint" to "integer" and "constraint_message" to a message that explains the six-digit limit.

As for the issue with the group name and collapsible bounding boxes, you can adjust the appearance of the group by setting the "appearance" column to "field-list" to remove the collapsible feature.

Appearance—ArcGIS Survey123 | Documentation



Occasional Contributor III

Thank you, I will try these solutions and get back with you shortly -- 

If you don't mind can you point me to some good documentation for a pulldata() from a Feature layer . I am having a number of issues with this -- First, I am not clear of the many url's in ArcGIS Online which one should be the used in the third parameter of the function.  and I am not convinced I have my "getRecord" setup right to pull a record based on a compound primary key -- 

pulldata(“@layer”, “getRecord”,"$settings.i2?field:Resort=${Resort}, field:Parking_Lot_Name=${Parking_Lot_Name}”

Get an Error b'ODK Validate Errors/\n>> XForm is invalid.  ................. \n\n Result Invalid'

Pulling the URL In the setting worksheet in the workbook, in column I. 

Getting the URL from the Item Details of the Feature Layer ??

Once I have the Record than I guess I can parse it with another

pulldata(@json, .......................................................................

But I am not clear how I reference the record retrieved earlier -- 






0 Kudos
Occasional Contributor III


No joy --  I have opened a support ticket.  But probably will not get back to this till next week now. 


TIA -- 


0 Kudos
New Contributor II

For problem 1: It looks like you might have dynamic-grid selected in the style column of your XLSForm settings sheet. This grid style adds placeholder boxes in the survey even if the question is hidden. If you change to fixed-grid or leave the style column empty it removes the extra boxes. I've run into this as well. Hope it helps. 

0 Kudos
Occasional Contributor III


So with some help from support, I have made progress.   @AnnaMiera turns out the issue was a Capital W2 instead of a lower case w2.  

BUT my geoPoint reference will not work, a textjoin() will not work and I am still confused on exactly how I determine what columns in the row get updated when the Survey is submitted.  

For instance why would this not work -- 

textjoin(",", 1,
if(${Free_Parking} = "X", "Free_Parking", ""),
if(${Paid_Parking} = "X", "Paid_Parking", ""),
if(${EV_Charging} = "X", "EV_Charging", ""),
if(${Free_Park_and_Ride} = "X", "Free_Park_and_Ride", ""),
if(${Free_Park_and_Short_Walk} = "X", "Free_Park_and_Short_Walk", ""),
if(${Wheel_Chair_Accessible} = "X", "Wheel_Chair_Accessible", "")




But, I still have a coup

0 Kudos
Occasional Contributor III


Closing this there are other threads on If Else logic.. 

0 Kudos