You're right users shouldn't be in the tables... they update this information via a form. So the problem became how could I set the form to show a default value and then input that value back into the table? I could get the form to display the default value:
Control Source =IIf([ReviewDate]>Now(),"N","Y")
But not to record it in the table. I thought the answer was in setting the default data, as that way when an exception occurred (setting the field to 'H') it won't get overwritten the next time someone opened the table. But again, I couldn't find a way to set the default data with a conditional statement.
________________________________________________________
So I went back and re-read your answer, which mentioned an update query. And, just in case someone needs to answer this same question years from now, here's how I fixed it.
Using the
information on the MS Office website (officemicrosoft.com update-data-by-using-a-query-HA010342081.aspx) I created an update query that had:
criteria = NOT "A" OR "H"
Update to = =IIf([ReviewDate]>Now(),"N","Y")
Saved that Update Query, ran it to test. Went back to my form. On the form I selected Event tab on the Properties sheet. From there I picked 'On Load' and clicked the '...' to get to the builder. I picked Macro Builder, and created a Macro with one line - "Open Query" and set it to open my Update Query.
Now whenever a user opens the form, they get a warning that they're going to update the data. It runs, and then they can go in and make any manual changes. That information is recorded in the table, so I'm free to run reports off of it.
Please tell me if I've missed something horrible, because from here it looks like I'm done.
