Often times I only hear from my fellow co-workers it is because they received an error from MSAccess in regards to the database I created. It happens rarely but it happens and it is usually user error. It's clear that the user error results from not understanding the principles of relational databases and how subforms work in relation to the whole form. My last troubleshooting I found that the user was attempting to enter data in a subform before entering any data in the main form, which in Access creates an error because if the mainform doesn't "exist" in the database yet, then the subform will default putting the reference id to the mainform to zero, which creates duplication errors and freezes up the program until you deal with the error.
I could simply tell the users to click here, and then here and it will always work, but I feel a need to explain why it does this so that they can understand why they are doing it in that order. ("you must create an entry in the main form for the subform to know where it belongs") But whenever I try to explain it I usually see eyes glaze over. Then I try an analogy and they think they understand, until they ask me a question that shows that they didn't understand a word.
So the topic at hand here is:
How does one go about explaining relational databases, mainforms and subforms, to non-technical people.
you simply design the app so that they can't do stuff like enter data into a subform prematurely
I agree with Rudy. This sounds more like you have a problem due to poor application design. If users find it convenient to enter data in a particular order then why don't you accommodate that in your application?
It's not reasonable to expect users to understand relational database principles if database development isn't part of their job. It's even less reasonable to use the database as an excuse for poor usability design - that's the kind of thing that gets databases a bad name!