Compacting a large empty database does not reduce size

  • Thread starter Thread starter Gaston
  • Start date Start date
G

Gaston

Hi,

I have a Access 2002 database which grew due to multiple
imports up to 90MB. I have deleted all records from all
tables in the database and compactet it. The size remains
nearly the same (90MB).

Because I am using Memos, I have tryed to enable the
RecycleLVs option via teh DBEengine and by setting the
approriate value in all Jet versions installed (3.5 & 4),
restarted access and compacted again. Still same result.

The database contains approx 10 tables, 5 queries and 10
modules, and as said, no data anymore.

What could be thecause of this ?
 
It could be corruption. When this happens to me, the first thing I do is create a new, empty mdb file and import all of the objects.
This usually solves the problem.

If that doesn't help, take a look at http://www.granite.ab.ca/access/bloatfe.htm, http://www.granite.ab.ca/access/decompile.htm, and
http://www.granite.ab.ca/access/corruptmdbs.htm.

Good luck.

--

Sco

M.L. "Sco" Scofield, MCSD, MCP, MSS, Access MVP, A+
Useful Metric Conversion #15 of 19: 5 dialogues = 1 decalogue
Miscellaneous Access and VB "stuff" at www.ScoBiz.com
 
Internally an RDBMS stores data and meta-data (data about data eg Tabledefs)
on 'Pages'.
An empty database contains the System Tables (in pages) and a quota of empty
pages.
As the database is used, the pages fill up and more are added - increasing
the file size.
As edits and deletions take place, empty pages and page fragmentation occur
increasing
the retrieval time of Records that are fragmented as a result (like file
fragmentation).
This fragmentation also applies to indexes!!
Compacting the database rebuilds and optimises the storage allocations of
Tables, Indexes
and Records (improving performance) but does not delete empty pages.
It is quite usual to UNLOAD and RELOAD the database to reduce its size -
this is what
creating an empty database in Access, and importing from the old database,
achieves.
 
Many Thanks to everybody for the quic help. The
explanation of Pat was what I was fearing to be the source
of my problem.

Now I will do the import via a Module in my database. Does
anybody know a link to an example on how to do this, if it
is possible at all. I don't know if it is possible to
create a new database from Access (I do really want to
prevent to have an empty database stored somewhere) and
then access it from within the current database. The next
problem would be that the current database should be
closed when importing it into the other.

Regards,
Gaston
 
Start Access
File>New
Blank Database
Choose a location where to save it
Give it a name
"Create"
File>Get External Data>Import
Find the old database
"Import"
In the Import Objects Window:
Click Options - select Menus and Toolbars if appropriate (leave
everything else)
Visit each Tab and "Select All"
CHECK each tab (all selected) and "Options"
"Ok"
All done!!
 
Back
Top