Originally Posted by
Dal Jeanis
Generally, my preference is to use the natural capabilities of Access, rather than to have the user clicking a "submit" button for each record.
I would like to do that, but I guess I just don't know how to do it given the multiple record situation. The user would not click Submit for each record, but for the entire collection of records on that Tab. So for instance, in the "Safety" Tab, there might be 25 Skills under "General", each one with a rating and comment. Each one of those collections would be an individual record in the Assessments table of the database. That table would look something like: AutoID, EmployeeID, Date, SkillID, Rating, Comments. I don't necessarily have to have a Submit button on each Tab, but I thought it might help the Evaluator to break it down and give them that capability on each one so that they could complete a section and Submit.
The first question I'd ask is one about usage. Will all 120 questions be answered every time, or is there a common use case where an Evaluator is entering only a few ratings? Might there be different evaluators for different skill sets for the same employee? There will be multiple Evaluators, but they will only perform the assessment for their employees so a Supervisor in the Eastern District would complete a full 120 question assessment for his/her employees and so on. The desire is to have them answer all 120 questions every time.
The reason I ask is this - if the standard will be to have all 120 entered at one time, then I'd suggest having the initial entry into a temp table, with a single "submit" or "commit" at the end to copy them to the production table.
So, after selecting the employee and setting the date (and, of course, logging in so that the person doing the Evaluation and/or data entry is identified in the database), the form would create 120 records in the temp table for that employee, date, and evaluator. Each record would be flagged as "Unverified" or "Not Entered" - which might be a different value stored in the same field as "not applicable".
The Evaluator or Data Entry person could then use a standard continuous form to update the skill records, and no "submit" button would be required. Moving from field to field or record to record would automatically save the records.
When entry was completed, the user could press a button labeled "verify" and the form would detect any records that had not yet been entered. (For example, a Dcount of the "unverified" records, and if greater than zero, apply a filter to show only the unverified records. Now that I have read it more and more, I think I am starting to catch on to your suggestion and get a vision in my head! So the main form will contain the drop down to select the Employee that is being evaluated and capture the Evaluator and Date. Once they login or access this form, my code will generate 120 rows in the temp table populating the Evaluator ID, EmployeeID, Date, and the Skill along with empty Rating and Comment Fields. The SubForm will display this information and the end user will then move from record to record and enter the Rating and Comments. Once complete, they click a Submit button that will copy to the production table along with executing the validation checks that you mentioned. Am I on the right track??
This strategy can also be useful to allow double-entry, if your users are not known for accuracy. The same 120 could be entered a second time into the temp table, and the two batches compared to determine whether there are any miskeys.