Solved

Access 2007 bloat

Posted on 2008-10-27
6
582 Views
Last Modified: 2013-11-29
I recently converted to access 2007 from access 2003.  Before I converted to access 2007, my .mdb was 2mb after compact and repair.  Now my frontend has bloated from 2mb to 10mb - after doing some non major modifications.  When I try to compact and repair the .mdb, the best it can do is 10mb.  But, if I create a backup, the backup is 2mb.  Why is this?
I took the backup of 2mb and I opened the file, then compacted and repaired it.  After this action the database doubled in size to 4mb.  What is the issue here?
0
Comment
Question by:T1080
  • 2
  • 2
  • 2
6 Comments
 
LVL 57

Assisted Solution

by:Jim Dettman (Microsoft MVP/ EE MVE)
Jim Dettman (Microsoft MVP/ EE MVE) earned 200 total points
ID: 22813785

  You've probably got some old dead object code in there.  You can use /decompile from the command line and then compact and repair or what I would do is import everything into a fresh MDB container.

JimD.
0
 
LVL 57
ID: 22813790

  BTW, it is not unusual for the DB to bloat up when making modifications.

JimD.
0
 
LVL 75
ID: 22813860
"What is the issue here?"

The issue is (ta da!):  A2007 !  This is the 3rd time I've heard this exact same scenario.  As JD suggested, prior to converting, be sure you are starting with a 'clean' mdb, including the Decompile, plus eliminate any no longer used objects, etc. If you need full instructions on Decompile, post back.

It's interesting that the 'backup' reduces the size - followed by an increase when doing a C&R.

mx
0
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 

Author Comment

by:T1080
ID: 22822607
MX:
Can you provide full instructions on Decompile?  When "starting with a clean .mdb"  I assume that means to open up a blank database and import everything from the old?  
I'm wondering if A2007 works out these bugs if the file extension is .accdb?  My only problem with that at this point is my users are still working with A2003, but will convert in the next six months.  


Thanks,

Troy
0
 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Access MVP) earned 300 total points
ID: 22823120
"I assume that means to open up a blank database and import everything from the old?  "
That is always a good idea - if you are planning on converting.

Here is the Decompile drill - which you can do after importing into a new mdb:

But first, if you have not already:
Open the VBA Editor and from the menu ...Tools>>References ....
If you see any listed as **Missing: <reference name>, including the asterisks and the word Missing, the
you need to fix that first.

Then, follow this procedure:

****
0) **Backup your MDB BEFORE running this procedure**
****
1) Compact and Repair the MDB, as follows:
Hold down the Shift key and open the MDB, then from the menu >>Tools>>Database Utilities>>Compact and Repair ...
Close the mdb after the Compact & Repair.
2) Execute the Decompile (See example syntax below) >> after which, your database will reopen.
3) Close the mdb
4) Open the mdb and do a Compact and Repair (#1 above).
5) Close the mdb.
6) Open the mdb:
    a) Right click over a 'blank' area of the database window (container) and select Visual Basic Editor. A new window will open with the title 'Microsoft Visual Basic' ... followed by then name of your MDB.
    b) From the VBA Editor Menu at the top of the window:
       >>Debug>>Compile
        Note ... after the word Compile ...you will see the name of your 'Project' - just an fyi.

7) Close the mdb
8) Compact and Repair one more time.

*** Executing the DeCompile **EXAMPLE**:
Here is an **example** of the command line syntax  (be SURE to adjust your path and file name accordingly) before executing the decompile:

Run this from Start>>Run, enter the following command line - **all on one line** - it may appear like two lines here in the post:
Also, the double quotes are required.

"C:\Program Files\Microsoft Office\Office\Msaccess.exe" /decompile "C:\Access2003Clients\YourMdbNameHERE.mdb"

For more detail on the Decompile subject ... visit the Master on the subject (and other great stuff) Michael Kaplan:

http://www.trigeminal.com/usenet/usenet004.asp?1033

mx
0
 

Author Closing Comment

by:T1080
ID: 31510361
Thanks for the posts.

Troy
0

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Overview: This article:       (a) explains one principle method to cross-reference invoice items in Quickbooks®       (b) explores the reasons one might need to cross-reference invoice items       (c) provides a sample process for creating a M…
A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now