Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Access 97 to Access2000 conversion problem

Status
Not open for further replies.

ditrex

Programmer
Nov 26, 2002
7
NL
I have a VBA program developped in Access 97 wich uses
linked tables. It is converted to Access 2000 accept the
linked database(s) which contain client administration(s).

Problem: A part where I calculate and list cost accounts
works fine in Access 97. In Access 2000 it seems to skip
parts of the accounts (up to 4 different results after
repeating this step). When I compact and repair the
database it works fine again. When I calculate again and
list the results I get the missing account again, etc.
etc.
What can cause this problem and more important what can I
do to solve it??
When I converted the program I got no errors?! There is
no difference between the Access97 source code and same
source code in Acces 2000.
 
How are the external tables linked? Is it through ODBC or using the ISAM drivers for DBF's etc?
Access 2000 removed a lot of ISAM support for older formats as M$'s attempt to remove legacy technology.
Can you access the tables by double clicking on them in the database window in 2K?
 
Yes, I can open the tables in Access by double clicking them.
The external tables are in files with the extension .vbs en .vbd. The actual client administrations are in files with the extension .vdb. I don't know the origin of this format, because I took over the maintenance of this program 2 years ago when it was working well in Access 97 already. When I open the .vbd files with Access I can open and change the tables in it.
In the source code the tables are linked with the Tabledef.connect command. Like this:
Set dbsDbCurrent = CurrentDb()
For Each tdfTblLinked In dbsDbCurrent.TableDefs
If Left$(tdfTblLinked.Name, 2) = strTabelGroep Then
tdfTblLinked.Connect = ";DATABASE=" & strConnect
tdfTblLinked.RefreshLink
End If
Next
I also tried converting the .vbd files to .mdb and then refresh the links in Access, but I keep getting this different results.
In my references I use ActiveX Data Objects 2.1. In 1 of my attempts i tried to upgrade it to 2.6 or 2.7 with the same result.
 
None of the extensions are familiar to me as database type formats. The Filext.com website can't identify them as database type files either.
The relinking code is pretty normal for table relinking. Nothing untoward there at all.

Have you tried opening a copy of one of the database files in something like UltraEdit or PFE32 to see if it can give you any idea as to what it actually is?

 
Hi,

the table relinking code looks fine, nothing untoward there at all. This code uses an ISAM driver, as otherwise it would have to specify an ODBC ConnectString, so it must be a variant on an in built format.

I haven't heard of the VBD file extension (and neither has filext.com). Have you tried opening a copy in a hex editor to see if it can give any clues as to its origin (or could you contact the original programmer or read any documentation).

John
 
When I open the .vbd files with PFE in the first line it says Standard Jet DB. I think the original developer renamed the files and there extension. I suspect the orignial files were VB script and then converted into VBA?? Because the Access 97 version worked fine with the .vbd an .vbs extensions, there was no reason to change this? It is possible to convert the .vbd files to an Access database (.mdb) with exactly the original tables.
By the way, the original developer left for somewhere in the south of France for two years. Nobody knows where to find him.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top