Solved

Compacting Access Databases - Progress?

Posted on 1998-09-30
5
448 Views
Last Modified: 2010-04-06
I can compact an Access database in my application by doing the following:

-------------------------------------------
Var
   Dao, DB1, DB2: Variant;
Begin
     Try
        Dao := CreateOLEObject('DAO.DBEngine.35');
        DB1 := sAppDir+'Database\Carval.mdb';
        DB2 := sAppDir+'Database\Compact.mdb';
        Dao.CompactDatabase(DB1,DB2);
     Finally
        Dao := unassigned;
     End;

     // Now delete the old table and rename the compacted table with the old name.
     DeleteFile(DB1);
     RenameFile(DB2,DB1);

------------------------------
This works. No problems there.

However, I would like to display some form of progress bar, just like when you select "Compact Database" in Access itself. How can I measure the progress of this function as it works and the max value for the bar?
0
Comment
Question by:jsweby
  • 3
  • 2
5 Comments
 
LVL 4

Author Comment

by:jsweby
ID: 1341287
Adjusted points to 100
0
 

Accepted Solution

by:
chrismo earned 100 total points
ID: 1341288
There's not a way to do this - this information is not exposed by the Jet.
0
 
LVL 4

Author Comment

by:jsweby
ID: 1341289
OK, fair enough, but there must be some way I can make the user think the progress bar is accurate. If you compact databases in Access the progress bar seems accurate enough, so what is a good way of doing this?

Cheat by all means. :-) Whatever it takes to make the bar LOOK like it is correct even if it just making it up.
0
 

Expert Comment

by:chrismo
ID: 1341290
My guess is, the Access GUI has a special 'in' that we, the developer, don't have.

One thing you could try to investigate = monitor the size of the output file during compression = although I'm not sure if Access creates the final output file as it compacts or only at the end.

The difficulty would be in knowing what the final size of the file is - so it'd be difficult to display a status bar type display. It would be more accurate to display # of bytes processed, or something like that. Or guesstimate the percentage of the original size the compacted database will be.
0
 
LVL 4

Author Comment

by:jsweby
ID: 1341291
Thanks for that.

I'm pretty sure that the output file is built up during compression and not just at the end so I could, as you say, monitor that and try and guess the final size it will be.

Cheers.
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Suggested Solutions

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

757 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