Use a relationship to count the records where trigger date = today's date.
Assuming that the records with the trigger date are in the same table as that referenced by your "main data entry" layout, this requires a self join relationship:
MainData::cToday = MainData 2::TriggerDate
In Manage | Database | relationships, make a new table occurrence of MainData by clicking it and then clicking the duplicate button (2 green plus signs). You can double click the new occurrence box to get a dialog to appear where you can rename the new occurrence box.
We have not duplicated a table. Instead, this is a new reference to the same table already present in your database.
Now your conditional format expression can be either:
MainData 2::TriggerDate // if a true result makes the message visible
Not Maindata 2::triggerDate // if a true result makes the message invisible
Ah, right. The records are in a different table, but that's not a problem. Thanks for the conceptual kick in the pants.
I forgot to specify that cToday must be defined with get ( CurrentDate ) and "do not store..." must be selected for it in storage options.
OK, I'm just feeling really obtuse here. The main data layout has the current data in a membership table. We get advance notices of future updates to that data, which I enter into a related table, "Futures." I enter a trigger date in the related table so I know when to apply the change to the current data. I can manually run a find with trigger date <= today's date to find those records I need to process.
I want a flag on the data entry screen that displays whenever any record in the database has a trigger date <= today. That will alert me to process the future updates. Once they're processed, the flag should disappear. This should be easy to handle with conditional formatting, right?
Per Phil's suggestion, I tried setting up separate occurrences of the future updates table and related it to itself, Futures1::Today's date >= Futures2::TriggerDate. No problem there. I then set the conditional formatting as follows:
Futures2::TriggerDate // visible
not Futures2::TriggerDate // invisible
The flag disappeared, but it stayed invisible when I entered test trigger dates that should have displayed it. I tried using the IsEmpty function in a similar way. No difference.
What am I doing wrong?
Set up an UNSTORED calculation field, cToday, defined in your layout's table to compute today's date.
Define this relationship between your layout's Tutorial: What are Table Occurrences? (I'll call it Main) and your Futures table:
Main::cToday > Futures::TriggerDate
then this logic, in either a calcualtion field or a conditional format expression will be true if any records in Futures with a Trigger date less than or equal to today exist:
Not IsEmpty ( Futures::TriggerDate )