Microsoft KB Archive/209803

= ACC2000: How Access Deletes Objects from a Database =

Article ID: 209803

Article Last Modified on 7/16/2004

-

APPLIES TO


 * Microsoft Access 2000 Standard Edition

-



This article was previously published under Q209803



Novice: Requires knowledge of the user interface on single-user computers.

This article applies to a Microsoft Access database (.mdb) and to a Microsoft Access project (.adp).



SUMMARY
This article describes what happens internally in Microsoft Access when you delete an object (a table, a form, a query, and so on) from a database.



MORE INFORMATION
When you delete an object from the Database window, it is not physically deleted from the database at that moment. Instead, it is renamed to a temporary name (for example, ~TMPCLP1) and hidden, so that it disappears from the Database window. The renaming operation occurs very quickly, regardless of the object's size. The hidden object is physically deleted from the database as soon as you take any action other than the Undo Deletion command.

Access deletes objects in this manner so that you can undo an accidental deletion, but only if you have not performed any other action that makes "undoing" an object deletion impossible. Microsoft Access can undo commands only one level back; it cannot queue up multiple commands to undo.

Because the physical deletion of the object occurs when you perform the next action rather than at the moment you select the Delete command, your computer may appear to stop responding (hang) while it performs the delete operation. If the object is large enough, the deletion may take some time.

NOTE: If you restart your computer before the deletion is complete, the hidden temporary object remains in the database, thus taking up space. To remove such hidden objects, compact the database.

Speed of Deletion
The time it takes to delete an object depends on how large it is and how fast the computer is that you are using. Smaller objects are deleted faster than larger ones. If the database that contains the object to be deleted is on a network file server, the deletion takes longer.

The speed of object deletion cannot be accurately predicted because the speed of deleting the object is also affected by the nature of the data it contains (for example, in tables, Number fields are deleted more quickly than Memo and OLE fields.).

Internally, Microsoft Access does not provide a status callback for object deletion; therefore, a progress indicator on the status bar is not possible. Because there is no progress indicator, Microsoft Access does not yield to the system until the object deletion procedure is complete. Therefore, you cannot abort the operation while the object is being deleted.

