Forum Discussion

ArchiveUser's avatar
ArchiveUser
Qrew Captain
7 years ago

Checkbox formula if statement stop

I'm trying to create a formula checkbox field with a if statement that stops once the checkbox is checked. I have data that is constantly changing so the statement might be true one day and not true the next, but I want the formula to stop computing once the statement is true. 
  • Well, it will. The If function stops once a condition is met. So, say..

    IF([Penny Saved]<>[Penny Earned],FALSE,
    [Pope]="Catholic",TRUE,
    [Water]="Wet",FALSE,
    FALSE)

    the first condition is not met
    the second condition is met, so the checkbox is checked
    and it stops there - the third condition is not evaluated

    So if you want your formula to stop working once the checkbox is checked, order your conditions such that all the cases in which it's checked are evaluated first, and once a condition to check the checkbox is satisfied, your formula has done its job and will stop.

    Does this answer your question?
  • Another thing you might consider is to use an automation instead of a formula.  Set the conditions for when you want it checked in the Trigger.  When those are met the first time then have it check your box.
    • QuickBaseCoachD's avatar
      QuickBaseCoachD
      Qrew Captain
      The issue with the above solution is that if the value changes via the passage of time, then it would not trigger an Automation.

      Maybe set up a save table to table import and copy a portion of the record across to another table when the condition is met. Include the [Record ID# of the original record].  Then via a relationship back to the the main record can detect it it has already been copied across.  So the Saved table to table copy would have a filer to not copy records IDs that have already been copied.

      The building on Forrest's  post above, use a Daily Automation to run that import every day. It will thus "catch" the record at night when the condition is first true. The via the relationship you can get the frozen value back to the original record.  The Key field of the new table should be set to be the [Record ID# of the original record].