I have a create record action with the below only if condition. When I test the expression in a virtual column without the NOT() it returns Y (OR true) meaning the queried data has been found in the table as expected. I want the action to trigger only if the data is NOT in the table so I added the NOT() but it doesn’t respond and continues to create records. This after over 10 variations of the expression. Does anyone have any ideas?
This row will always have the value you’re looking for, so SELECT() should only target rows that aren’t this row. “What other rows have this route source key?”
If you REMOVE the NOT() in your expression, is the row NOT written in that use case or is it duplicated? If it still is written or you get dup rows, then that means something else is adding rows. In the case of dup rows, it means your expression is actually working but something else is also adding rows.
If above does not identify anything new, I see nothing wrong with this expression. Since you have tried 10 different variations (and we know you have been building apps for a long while now and know what you’re doing), It is likely NOT the expression that is the problem.
Double check the logic you are using and inspect the physical data.
For example, does [image_source] have any extra spaces in it? Is “Site Not Serviced” spelled exactly the same? How is [route_source_key] being assigned - anything that might change as the app runs?
Image columns record the path to the image - make sure [image] and [missed_image] are recording identical paths in the column raw data.
Thanks for the ideas everyone, we’re missing a key parameter in the table to accomplish this as the client requests so we’re rethinking the functionality. Again thanks for the help!
Is your goal to display the image, if the condition does not match, if yes, in the image column [missed_image] in SHOW IF use the formula example [category]= “your criteria that you want”. so just give the formula to show if. Likewise on the button enum (stack) you can use show if to show and hide.
But it is different if [category] = “check out” two buttons appear while if [category] <> “check out” three buttons appear. of course not in show if but in VALID IF, for example the formula IF ([category] = “check out”, LIST (“BUTON_A”,“BUTTON_B”), LIST (“BUTON_A”,“BUTTON_B”,“BUTTON_C”)). delete the value and check list allow of.
I noticed that if an expression is using a VC value coming from a read only table,or a rarely refreshed table (delta sync,server cahed,and those other appsheet options activated), the value is usually wrong or not updated.
Also the values in this cases in the emulator and app are many times different.
I try not to use VC from read only or server cahed tables. And if I have to, i make for the moment the table writable, disable all those cache options, make a manual change in the table to change the last update timestamp, set my expression than put it all back as it was.