I didn't want to get all involved in trying to spell it out unless there were others here...
Briefly, I've created a database that is designed to be a
single entry point for
charts, corrections and lights.
That is, by entering the boundaries of a given chart, the database will know which light and which corrections are on that chart.
In that way, entering a correction once will tell you which
charts it applies to.
I'm having logic problems with types of corrections.
Entering a correction (or light) works fine-- the database figures out which charts the corrections are on and generates a list for each chart.
Entering a new chart also works, it goes and gets the right corrections for that chart.
The problem is discrepancies, which I had figured were just another type of correction, but they're not. They're temporary, and they're persistent.
That is, you enter a discrepancy on a chart, and you're not done.
In the case of a chart correction, if you enter a correction on a chart, you're finished with that correction. If you then replace that chart with a newer version of the same chart, the new publication date of the new chart will overrule any correction that falls before that date. (As it should. The new chart presumably includes all corrections up to the noted date on the new chart.)
However, in the case of a discrepancy, even though the date of the discrepancy is before the date of the chart, the discrepancy is still in force until it has been corrected-- a new chart doesn't correct discrepancies.
So the short version is that discrepancies need to be treated as a special sub-category of chart corrections, and I'm having trouble figuring out what method would be best to implement that in Filemaker.
I tried explaining it to Filemaker people, and all I did was confuse them. So now I'm hoping there's a Filemaker person here who understands correcting charts-- surely I can't be the only one.