ACC2000: How Name AutoCorrect Works and What It Repairs

ID: Q231745


The information in this article applies to:

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

This article applies only to a Microsoft Access database (.mdb).


SUMMARY

Name AutoCorrect is a new feature of Microsoft Access 2000 that automatically propagates name changes for tables, forms, reports, and fields throughout the database.

This article describes how Name AutoCorrect works, and then lists the objects that Name AutoCorrect does not repair.


MORE INFORMATION

How AutoCorrect Works

In order for Microsoft Access 2000 to automatically repair a name change to a table, query, form, report, or field, Microsoft Access needs to store some information about each object and its contents. This information is called a name map. Name maps are created on a per object basis, which means each table, query, form, and report can have a name map.

To have Microsoft Access 2000 create a name map, Track Name AutoCorrect info must be enabled before you create and save an object. Track Name AutoCorrect info is enabled by default for new databases created with Microsoft Access 2000 and is disabled by default for databases that are converted from earlier versions of Microsoft Access. To create a name map for objects created before Track Name AutoCorrect info was enabled, open the object in Design view, and then save the object. When Access saves the object, it creates a name map for the object.

NOTE: To enable Track Name AutoCorrect info, click Options on the Tools menu. In the Options dialog box, click the General tab, and then click to select the Track Name AutoCorrect info check box.

What Is Needed Besides Track Name AutoCorrect Info

Track Name AutoCorrect info only tells Microsoft Access 2000 to create the name map and to keep track of name changes. It does not actually perform any corrections. To have Microsoft Access 2000 perform name changes throughout the database, click to select the Perform name AutoCorrect check box on the General tab of the Options dialog box. If Perform name AutoCorrect is enabled, when you open an object, Access checks to see if a name change needs to be applied to that object or its contents. If a change has occurred, Access makes the necessary name changes automatically.

For Name AutoCorrect to work, the object in which a name change occurs must have a name map associated with it. If the object doesn't have a name map, Name AutoCorrect is not able to repair the name change for that object even though Name AutoCorrect is enabled to track and perform the name change.

For example, Form1 is based on Table1. Form1 is created when track and perform name changes is disabled. Therefore, Form1 does not have a name map. Subsequently, you enable track and perform name changes. In Table1, you then change the first field's name from Field1 to CompanyName. However, when you open Form1, you see the #Name? error for Field1 because the name map for Form1 doesn't exist and Access cannot resolve the Field1 name change. Even though Name AutoCorrect is currently enabled to track and perform name changes, Name AutoCorrect cannot repair the name change to Field1 because Form1 was created before Name AutoCorrect was enabled.

What Name Maps Are Made Of

Name Maps are made up of:
For example, the name map for the Customers form in the sample database Northwind.mdb would contain:
NOTE: Name map information is for Microsoft Access only and cannot be referenced programmatically nor be used to obtain information about an object.

Size of a Name Map

Because name maps are made up of field names, table names, query names, form names, and so on, the size of those names contributes to the size of a name map. Typically, a name map is not greater than 4 kilobytes (KB). However, for objects with a large number of fields or long names, the size of the name map could increase. The maximum size of a name map is 64 KB.

What Name AutoCorrect Repairs and Does Not Repair

Name AutoCorrect only performs name corrections for tables, queries, forms, reports, and fields. Name AutoCorrect does not track or perform name changes for data access pages, macros, or modules, or for any code within a module. Name AutoCorrect is not available in replicated databases and in Microsoft Access projects (.ADP).


REFERENCES

For additional information about how Name AutoCorrect works with converted databases, please see the following article in the Microsoft Knowledge Base:

Q230616 ACC2000: Name AutoCorrect Not Working in Converted Database

Additional query words:


Keywords          : kbdta 
Version           : WINDOWS:2000
Platform          : WINDOWS 
Issue type        : kbhowto 

Last Reviewed: July 13, 1999