?
Solved

Compacting Access Databases - Progress?

Posted on 1998-09-30
5
Medium Priority
?
474 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 200 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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
This video shows how to quickly and easily deploy an email signature for all users in Office 365 and prevent it from being added to replies and forwards. (the resulting signature is applied on the server level in Exchange Online) The email signat…
Is your OST file inaccessible, Need to transfer OST file from one computer to another? Want to convert OST file to PST? If the answer to any of the above question is yes, then look no further. With the help of Stellar OST to PST Converter, you can e…
Suggested Courses

807 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