
Originally Posted by
boblarson
No, that's not the reason why most people do data entry through forms. Most people do data entry through forms because you have more control over what they can and can't do whereas if you are letting them enter data into tables directly, they can do a lot that you have no control over and it isn't a good thing for that. So, if people aren't using forms for that reason it is the one reason for which they really should be using them.
The behavior you said is why they use forms instead of tables still occurs in the form. Until you leave it, or move to another record, the record is not saved. When using subforms, in conjunction with a main form, the saving will happen just from moving between the two forms.
Most professional programmers will use the form's BEFORE UPDATE event to validate the data and decide whether to let the record save or not. You can't do that with tables. You can use very rudimentary validation rules on tables but you can do so much more with forms.
Very true Bob, my point was just that they might not be saving the first record before they try to add related records in the other tables. I did not mean to imply that was the only reason to use forms, but it is certainly one of the reasons I do. I love having a little Form Control Button on each form with a
Code:
DoCmd.RunCommand
acCmdSaveRecord
in the On Click Event Procedure and give it the caption of "&Save". So non-Access users can easily save the data on the form before moving on.
This looks like it might be a database thrown together to evaluate data for analytic purposes and so I was wondering if they skipped form entry all together and were just inputting data directly into the tables, which could definitely cause them problems such as the

Originally Posted by
REAPER_110
cannot add the data as relevant data needs to be entered into tblClientInteviews
error message they recieved. If the data has not been saved for tblClientInterviews and Referential Integrity is Enforced for the relationships (as it should be) it could cause this issue.