Oh, Access 2002 ... give us a break ... please

Access 2002 Form Loses Subform During Design

Background to the Problem

When working in the design view of a form we added a subform and established the links between it and its parent. In form view the parent form failed to display the subform. On other occasions the parent duplicated one of its other subforms in place of the one we were having trouble establishing.

We were developing the database in Access 2002. The main form had a number of sub forms but not so many as to approach Access limits. Nothing we included in the design of the main form or of the sub form was anything special or unusual for us.


Attempts to Find a Solution

These are the main routes we followed in attempting to achieve a stable form design:

  • Delete sub form from parent and re-introduce the sub form, both with and without engaging the Control Wizard
  • Deleting the sub form, closing and saving the main form before opening it in design mode and trying the sub form again
  • Saving the design by using File Save or by closing the form and saying yes to save
  • Deleting the sub form entirely and recreating it from scratch
  • Re-naming the subform
  • Compacting and repairing the database in between any combination of the above attempts
  • Importing main form and its sub forms into a new database
  • Deleting the main form and offending subform and recreating both from scratch
  • Trying the database on another of our PCs
  • Uninstalling and re-installing Access.

We applied different sequences of the above over hours of testing.


Conclusions

We could not believe this was a widespread problem because we had not found links relating to it elsewhere on the web. But at the time we were anxious that we might meet it as a bug in other databases on which we were working.

During design work on another Access 2002 database we experienced the same problem. But there was no common pattern to the design processes between the two databases that we could identify to help explain the problem.

The process we applied to both recalcitrant databases to get them working properly was to create a new database. Into that we imported all objects other than the main form and its subforms, which we then created afresh.