Error Message: key field "UniqueID" is required

I have created a Form view of a table where the key field is "UniqueID".

The "UniqueID" field is a required, text field and the Initial Value is set to = UniqueID()

Delayed Sync is OFF, Automatic Updates is ON

When users submit the form, most of the time it generates the UniqueID correctly. But sometimes a user will get this error and a new row is not created in the table:

Key field "UniqueID" is required

I suspect this is caused by a network timing issue, maybe a slow connection for the affected user, since it works most of the time.  Could it be something else? Is there anything I can do to troubleshoot or fix this?

thank you!

bdhale_0-1695848382612.png

bdhale_2-1695848556788.png

 

The error the user sees when the click "Submit":

bdhale_1-1695848421612.png

 

 

Solved Solved
0 6 139
1 ACCEPTED SOLUTION

Hi  bdhale !

The error is likely due to the action formula. 

I suggest you use LINKTOFORM instead of LINKTOVIEW. Then you can force the app to set columns values when opening the forms, like the key field. 

It would be something like : linktoform("viewname" , "keycolumnname" , UNIQUEID()  )

Show More
tip, you can also set other columns :  linktoform("viewname" , "keycolumnname" , UNIQUEID() , "column2", "valueofcolumn2", "column3", "valueofcolumn3"... )

https://support.google.com/appsheet/answer/10106538?hl=en

For reference, you may use linktoform() when you need to add new rows through a form, and linktorow() when you need to access a detail view of a specific row (and in any origin view, use this action in the 'row selected' behavior) .

https://support.google.com/appsheet/answer/10106539?sjid=312052136767693121-EU

 

View solution in original post

6 REPLIES 6

Never seen this before - I do exactly the same with every table. Some items to check...

  1. Is it using a slice and you are exlcuding that column?
  2. Do you have an editableIF which is stopping it writing to it?
  3. Is this a subtable of multiple other tables?

 

Hi, thanks for the response!

1. It is a slice, but I am not excluding that column.  "Show?" is un-checked for this column so the user doesn't see it in the form.

bdhale_0-1695918632267.png

 

2. The [UniqueID] column is editable (checked), but there are no Editable_If statements in the table anywhere. 

3. It is not a sub-table, there is one Ref column that is used to populate a drop-down menu. 

There are also a couple of calculations, if relevant:

Computing the full name,

Computing full address,

Calculate Age based on birthdate,

and an age-check formula on the [Birthdate] field (Valid If = age based on birthdate is within a specific range).

What is the exact process to access the form, step by step ? It may happen when an action is not well configured. 

If that's not it, well you can create an action to replace the default "new form" button.

Thanks for the reply!   Here is the process, hope it is detailed enough. The only bots in the app send an email when the table is updated, but they aren't triggered because the table is never updated in this situation.

1. User opens the link to Appsheet, either in a browser or with the Appsheet app,

2. User is presented with a Deck view, where tapping/clicking the first option will invoke a LINKTOVIEW action taking them to the form.

bdhale_1-1695919988215.png

 

3. The form is arranged in 4 tabs using this technique. Once user has completed all the required fields, they can click "Submit" and the finish view is a Card view page thanking them.

Thanks!

Hi  bdhale !

The error is likely due to the action formula. 

I suggest you use LINKTOFORM instead of LINKTOVIEW. Then you can force the app to set columns values when opening the forms, like the key field. 

It would be something like : linktoform("viewname" , "keycolumnname" , UNIQUEID()  )

Show More
tip, you can also set other columns :  linktoform("viewname" , "keycolumnname" , UNIQUEID() , "column2", "valueofcolumn2", "column3", "valueofcolumn3"... )

https://support.google.com/appsheet/answer/10106538?hl=en

For reference, you may use linktoform() when you need to add new rows through a form, and linktorow() when you need to access a detail view of a specific row (and in any origin view, use this action in the 'row selected' behavior) .

https://support.google.com/appsheet/answer/10106539?sjid=312052136767693121-EU

 

Thank you so much. I will give this a try!

Top Labels in this Space