I've inherited a rather huge amount of VB3.0 code over the last 6 months.
During that time I've moved the database engine from the great XBS200 Dbase
DLL that Jet provided to the mighty MSAJT200 Access DLL that also came with
VB3.0. For a multiuser application, using Truegrid, using Crystal, (and
I'm really not pulling my hair out because I have MPB).
Fortunately, my employer has given me all the toys I've requested to move
this thing up a few generations (and a ticket to put this thing to sleep
permanently via a rewrite, but thats a much larger task).
Being brave I've tried to do this with VB5. What I found:
1. The default DAO module with an upgrade is the 2.5/3.0 compatibility
version. Against an Access 2.0 database its actually slower. Converting
the DB to Access 95 format improved performance, but not significantly.
Using this did not require a significant amount of code changes. The main
one was is an empty string the same as null - this flipflopped yet again.
2. The new 3.5 DAO module required a significant amount of work since the
code I got uses the Table object all over the place. I saw some performance
improvements (now about 20% of the original).
1. It was not clear if moving to the new 3.5 DAO module without converting
to Access 97 format would make any difference (really, it was not clear if
there was any difference between the Access 97 and 95 formats). Any news
2. It was not clear if I would gain any locking (page vs. record-level)
advantages using DAO 3.5. The help implied that a RecordSet object of Type
table still used page level locking.
3. Unrelated, does anybody know of a report package that can print stuff
in fixed positions (within 1/16 inch) even if the printer type is changed -
this is for preprinted forms. Also, does anyone know of a good substitute
for DBGrid that allows movable columns - this is an absolute requirement
with our product set.