PDA

Click to See Complete Forum and Search --> : Compress an Access DB


Anders Englund
Jul 14th, 2000, 11:10 AM
How would I go about to compress an Access 97 database via ADO.
Also, is there a way to find out how much space is just wasted space in the database.
Access is not necceseraly installed on the computer the program is run on.

//Anders

Glenn
Jul 14th, 2000, 01:01 PM
Heres how to do it. I did'nt write this code but it should work.

Compact and repair databases via ADO's JRO

In a previous tip (Compact and repair Jet databases with DAO), we showed
you how to compact and repair a database with DAO. However, if you're
using ADO, you can also compact and repair Access databases using Jet and
Replication Objects (JRO).

To take advantage of JRO's CompactDatabase method, which will also repair
the database, set a reference the JRO library, Microsoft Jet And
Replication Objects 2.1 Library. Next, declare and set a JetEngine object
variable, like so


Dim JRO As JRO.JetEngine
Set JRO = New JRO.JetEngine

JRO.CompactDatabase _
"Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=C:\myData1.mdb", _
"Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=C:\myDataNewName.mdb"_
& ";Jet OLEDB:Engine Type=4"


This command follows similar syntax as DAO's CompactDatabase method-you
must provide the old database name and the new database name. In the
case of JRO, however, you must also provide a valid connection string,
as well as indicate the type of Jet engine to compact the database as.
We used 4 to create a Jet Version 3.x database suitable for Access 97
users. If you work with Access 2000 use the value 5 to create a Jet
Version 4.x database.