Skip to main content

Bill Mosca's Microsoft Access Database Tools, Code Samples and more for the serious developer.
Access Basics
How To's And Articles
Utilities and Add-Ins
Code Samples
Recommended Books
Apex SQL Editor
Total Visual Sourcebook
Blog, blah, blah
Misc Downloads & Links
Contact Us
About Us
Total Visual Sourcebook 2007 by FMS Inc.
One thing about having been an Access application developer for more than 15 years is that I've built up quite a library of VBA code. Most of what I've written was kept as generic as possible so I could just copy and paste it into other projects. I've built entire modules of related routines and exported them out as .bas files so I could import them into other projects.
All this code makes creating new projects a much more efficient task. Why write code for a project when you've already done it in another project?
I thought that system was pretty good until my files grew in number to where I couldn't always remember where to find a specific routine or two. Or what is worse, I didn't even know I already had written a routine years ago that would do exactly what I needed right now!
A Better Way
I got a chance to try out FMS, Inc.'s Total Visual SourceBook (TVS) ( Go To Total Visual Sourcebook Site), and I must say this COM add-in is definitely the product to store your code library. And what if you have been using the Microsoft Office Developer Code library that was available for Office 2000 Developer Edition? There is a built-in method for importing it into TVS after converting it down to Access 97 (Jet 3.51) which is the file format TVS uses to store its code. The TVS help file gives you the simple steps to take.
Even if you haven't started storing your code you will find TVS an excellent place to start. It comes loaded with ready-to-use code (0ver 95,000 lines) written in a uniform style for easy plug-in to your own code. There are also examples that show how to use it if you aren't sure where to start.
I, personally don't keep separate notes on my code. I put them in as comments, but if you like the ability to separate notes out from your code you can put them in under the Notes tab
The code is organized in a TreeView panel on the left. The selected code is viewable and copyable in the panel on the right. You can see an entire module or class, or you can drill down to the routine you want and see only that.
There is also a quick little search frame that makes finding that elusive routine a snap.
You can export from TVS right into your project with the options to include dependencies such as Declarations, set Tab widths. You can also export to Clipboard, Notepad or a file.
Customizable Error Trapping
All of FMS's code comes with minimal error-trapping. You can edit the error code in one place so that it is applied to all existing FMS code. That is a handy little feature. It does not apply to any code you have put into TVS. This is probably a good thing. Some code I've written requires unique error handling. I'd hate to put that code into TVS and have it accidentally overwrite what I did.
The Method box can take 3 "variables" that will automatically fill in the Module Name, Procedure Name and the exit Sub/Function. Pretty cool!
Multi-developer Environment
TSV supports a multi-developer environment. The code database can be housed in a shared folder. And there is an option to add author and track creation/modification dates so you know who did what and when. Items can be set to read-only to prevent changes.
There is also a built-in method for creating Source Code Exchange files so you can pick and choose existing modules and classes to import into another depository. That way you can bring along the examples and notes, too.

While this add-in the best I've seen, I thought I should point out what I think are the few short-comings:
  1. dialog for new code/edit code is not re-sizable and too small for my taste. It's like trying to get dressed in a closet. I'd prefer editing directly in the code panel, but that is not possible. If I must be stuck with a dialog it should be sizeable.
  2. can't drag & drop items into other folders or modules. You have to delete the item in its location and recreate it in the new location.
  3. user code is not sorted in tree view. Items are listed in the order you added them. FMS confirmed that was not intended so I'm guessing the next version will have that fixed.