Access 97 to 2002/2003 via JRO/OLEDB

C

Cade Perkins

I am able to successfully convert an Access97 database to Access2000, but
not directly to Access2003. It appears that 2000 and 2003 use the same Jet
database version, but when I open an Access2000 database in Access2003, it
says that it is an older version and must be converted to Access2003 before
I can use it fully. I would like to create an Access2003 directly using JRO
and/or ADO without the need and hassle of opening it in Access to do the
conversion.

Interestingly, I am able to successfully open an Access2003 (created within
Access2003 and not programmatically) using ADO Jet provider and it reports
it is a normal Jet 4.0 database. To Jet, it appears that they are the same
version. Is there anyway to have Jet distinguish between them?

I have the latest MDAC 2.8 and Jet 4.0 SP8 installed.

Thanks, Cade


Here's some sample VB code I've used to do the conversion:

Const JETDBENGINETYPE_JET4X = 5

Dim ConnectionString As String
Dim NewConnectionString As String

ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='Access97Path'"

NewConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='NewPath';Engine Type = " &
JETDBENGINETYPE_JET4X

JRO.JetEngine.CompactDatabase(ConnectionString, NewConnectionString)
 
A

ali ferdows

I am able to successfully convert an Access97 database to Access2000, but
not directly to Access2003. It appears that 2000 and 2003 use the same Jet
database version, but when I open an Access2000 database in Access2003, it
says that it is an older version and must be converted to Access2003 before
I can use it fully. I would like to create an Access2003 directly using JRO
and/or ADO without the need and hassle of opening it in Access to do the
conversion.

Interestingly, I am able to successfully open an Access2003 (created within
Access2003 and not programmatically) using ADO Jet provider and it reports
it is a normal Jet 4.0 database. To Jet, it appears that they are the same
version. Is there anyway to have Jet distinguish between them?

I have the latest MDAC 2.8 and Jet 4.0 SP8 installed.

Thanks, Cade


Here's some sample VB code I've used to do the conversion:

Const JETDBENGINETYPE_JET4X = 5
test




Dim ConnectionString As String
Dim NewConnectionString As String

ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='Access97Path'"

NewConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='NewPath';Engine Type = " &
JETDBENGINETYPE_JET4X

JRO.JetEngine.CompactDatabase(ConnectionString, NewConnectionString)
 
D

Douglas J. Steele

It's important to distinguish between Jet (the database components) and
Access (the application components).

Access 2000, 2002 and 2003 all use the same version of Jet. Each, though,
does have a different file format (although the differences seem to be
small, and Access 2000 is actually the default file format for all 3
versions).

I think you'll find, though, that if you try to open your converted database
in Access 2000, you'll still get that message about it being an older
version. That's because JRO only converts the database, not the application.
 
C

Cade Perkins

Thanks. You're right and I did understand the difference between the Jet
Engine and Access application. On the other hand, there's always been
somewhat of a correlation between Access versions and Jet versions. It's
been possible in the past to use Jet (via DAO, ADO, JRO, etc.) to create a
database that is compliant or in the same format as a particular Access
version. I just don't like the idea of having customers or support
"converting" their database if they need to open it in access directly.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top