Detect Whether an Object Exists
Problem
You create and delete objects as your application runs. At some point, you need to be able to tell whether an object exists and make decisions based on that fact. But you can’t find a function in Access that will tell you if a specific object already exists. Are you missing something? This ought to be a basic part of the product!
Solution
You haven’t missed anything: Access really doesn’t supply a simple method of determining if a specific object already exists. On the other hand, this is really quite simple, as long as you understand two important concepts: Access’s support for DAO Container objects, and the ways you can use error handling to retrieve information. This solution uses these two subjects to provide a function you can call to check for the existence of any object.
Load and run frmTestExist from 07-10.MDB
. This
form, shown in Figure 7-14, lets you specify an
object name and its type and then tells you whether that object
exists. Certainly, you wouldn’t use this form as-is in any
application—its purpose is to demonstrate the
acbDoesObjExist function in basExists
(07-10.MDB
). To make your exploration of
frmTestExist easier, Table 7-8 lists the objects
that exist in 07-10.MDB
. Try entering names that
do and don’t exist, and get the types right and wrong, to
convince yourself that the acbDoesObjExist
function does its job correctly.
Figure 7-14. frmTestExist lets you check for the existence of any object in the current database
Get Access Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.