Hope there are some good gurus out there that can lend a hand to this discussion.

Can anyone here give me some advice on methods and strategy for maintaining and upgrading existing Access DBs as my VB6 (not NET) application develops and/or grows?

The story goes like:

MyApp.exe and my MyAccess.MDB are working fine together.

Client asks for modifications that result in program modifications as well as adding a Table or Field to the DB or changing the datatype of a field.

I make the necessary changes in my code and my local MDB copy but need to upgrade both her current EXE & DB to work with the changes. Whereas the EXE is no problem, what is the recommended method to update the client's DB?

Am I wrong in the assumption that I need to write several routines that include:

Thoroughly detecting the current DB structure vs new DB to determine the upgrade path (ie. what tables, fields need amending).
Adding necessary Tables.
Adding necessary Fields to existing Tables and possibly populating certain fields.
Changing datetypes and reformatting the current data in these fields.

I know this might be a complicated issue but appreciate any & all your wisdom. I'm sure others are interested in this topic as their programs and DBs advance.

I hope DANIWEB members are a bit more informative than the other lame sites I have visited.

Thanks to all,


I think the best way you can do is reinstall your .exe and db on the client machine the export all data to your new db.Once an exe has been creates it cannot be modified again.


I appreciate your response but that really is not a strategy for any typical EXE & DB upgrade path.

Software systems continuously change and automate a process to upgrade databases.

You can't always 'be there' to perform an EXE / DB upgrade; would you think the average user could perform these tasks. Some still think the CD tray is for holding their coffee cup.

I know there's a way to do this; I'm just frustrated that of the 5 different forums I have posted this thread, nobody seems to either know or care about it.

This strategy is just as important as Error routines and other 'backroom issues' that never seem to be discussed.

I can't be the first person to have ever considered this; I'm not THAT smart. :?:

Come on you gurus; step up the plate and educate us.....please!!!!!