Article ID: 167173 - View products that this article applies to.
This article was previously published under Q167173
Moderate: Requires basic macro, coding, and interoperability skills.
When you refer to properties and methods belonging to objects created with the CurrentDb function, you may receive the following error message:
This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to your version of the "Building Applications with Microsoft Access" manual.
Object invalid or no longer set.
When you set an object variable, such as a TableDef object, which requires a reference to a database object, your code refers directly to the CurrentDb function instead of referring to a database object variable that you set with the CurrentDb function.
Create a database object variable in your code that refers to the CurrentDb function, rather than using the CurrentDb function directly in Set statements to create other objects, as in the following example:
Steps to Reproduce BehaviorThe following example attempts to use the CurrentDb function to return a pointer to the database that is currently open in Microsoft Access. Because the code does not assign that database to an object variable, the pointer returned by the CurrentDb function is temporary and becomes invalid after the TableDef object is set. Consequently, any later references in your code to the TableDef object variable will result in an error.
Article ID: 167173 - Last Review: January 19, 2007 - Revision: 3.3