Show column in Form when Time is reached

Is it possible to show or hide a column in a form view depending on time?

I have an Image column and a OCRTEXT() column. I also have a ChangeTimestamp column that is looking for the Image column.
Sometimes OCRTEXT() does not answer. It’s just not extracting the Text out of the Image.
So I want to bring a SHOW column that says: “Please take the Photo again”.
The expression in the Show_if for the SHOW column would be:

AND(
ISNOTBLANK([ChangeTimestamp]),
ISBLANK([OCRTEXT]),
NOW()-[ChangeTimestamp]>"000:00:05"
)

Meaning: Show me the SHOW column, when the user took a photo, but after 5 seconds, the OCRTEXT ist still empty.

But this expression is not working in Form view.
When I save the Form and open it again, it is working.

I could be wrong, but I believe that NOW() is set only once the form opens and doesn’t change.

Consider when you assign NOW() to a column. As you are filling out the Form, that column doesn’t constantly change its value, in other words it doesn’t constantly re-evaluate the NOW() function and re-apply it to the column.

EDITED: I tested this and it IS the case that the value of NOW() stays constant throughout the usage of the form.

2 Likes

Here is a little workaround to try.

Create a column named Now and set it to a ChangeTimestamp type. Set Initial Value to NOW(). Turn on the “Reset on edit”. For any change made to the row, the Now column will update to the newest timestamp.


Note: Any expression you create depends on user activity within the Form to re-evaluate. If you want to be able to simply wait, there currently is not a good way to perform time-based activities. We would need a TIMER() function in AppSheet for that.

There is Feature Request for timers.

4 Likes