Visual Basic Code of the Week (COTW)
Issue #17
All content and source code is Copyright (c) 1997-98 by C&D Programming Corp. None of the source can be reprinted in any manner without express written permission of C&D Programming Corp.

Happy New Year!

We hope everyone had a safe and happy new year!

Requirements for this Issue

The source code in this issue is designed for Visual Basic 4 and 5. With some modifications it should be able to run in VB3 as well.

In this Issue

This issue shows how to determine if a table or query exists in a database. One potential use for this routine is to determine if the end-user has the most recent database. If they don't have the most recent database you can add the missing components.

We are in the middle of development of an application for a client where the client is quite far away. Instead of having to get his data and convert/import it into a new version of the database, we use this routine to help determine if we need to add fields, indexes or other database objects.

In the next several issues we will be introducing a full-blown Visual Basic class to make manipulating these database objects very easy.


Public Function TableOrQueryExists(sDBName As String, sTableName As String) As Boolean


Return Value

True if the table/query was found, False if it was not.

Sample Usage

The below example uses the TableOrQueryExists to demonstrate one way to ensure the database being used is the most recent version. It assumes that two versions of the SALES.MDB file exists. One without the qryShowAllCustomers query and one with. This code could be used to create the query on the file in the SALES.MDB.

    Dim sDBName As String

    sDBName = "c:\sales\sales.mdb"
    If Not TableOrQueryExists(sDBName, "qryShowAllCustomers") Then
        MsgBox "The database you are using is not the most recent version."
        ' or you could automatically add the query here
    End If

Source Code

To see the source code for this issue you must be a subscriber to Code of the Week. If you are a subscriber the source code is available at the following address:

Comments on the Source Code

A useful performance enhancement if you will be checking several tables/queries at once would be to pass the database object instead of the filename. This would avoid having to open the database several times (which is a time-consuming operation).

What to look for in coming issues

In the next issue or two we will introduce a Visual Basic class for adding fields, indexes, queries and other database objects from VB.

This document is available on the web

Paid subscribers can view this issue in HTML format. There is no additional source or information in the HTML formatted document. It just looks a little better. Just point your browser to


That concludes this issue of COTW. We hope you find the source code useful in your development.

The below describes the ways you can supply us some feedback about COTW. We would like to see our members help mold COTW into the best Visual Basic source code resource available. But to do that we need your feedback about what you like and what you do not like about COTW.

Future Issues

We are currently planning for the next several issues of Code of the Week. If you have any suggestions of source code that you would like to see covered, please jump to our feedback page at and let us know.

How to tell us what you think

If you have any suggestions for topics you would like to see covered or questions about this issue, please email them to or use online feedback form at

If you have any source code you would like to submit for possible inclusion in COTW, please fill out our online submission form at

Contact Information

C&D Programming Corp.
PO Box 20128
Floral Park, NY 11002-0128
Phone or Fax: (212) 504-7945

Subscription Update

Thank you for trying Code of the Week for Visual Basic.

Your free trial expires after you receive your fourth issue. If you want to continue to receive Code of the Week you can get 52 issues of COTW for only $19.95. This is a full year of Visual Basic source code and information to help with all your development. So don't wait, subscribe now! The quickest way to subscribe is to jump to our online order form at