Thank you for the compliment
I should tell you, and any others who aready noticed, the dual step in this.
The function creates a duplicate and actually performs the compression on the file copy rather that the original.
Following my experience with slowpoking MS Access running on windows servers for various old DSN database purposes using ASP, I decided to do it this way to avoid working on an original until the compression is done.
Compression like this on a db exceeding 500,000 - 1,000,000 records in a single table such as an address database can take some time and hangs.
If it hangs on a copy it's not to bad. When it hangs in the original, it can be very bad.
As simple footnote and benchmark, I am now on a laptop with 512 MB RAM and 1,8 GHz cpu, and not even my 2,4GHz Dual core with 1 GB ram can compress some of my databases faster than within 20 minutes.
And that is only on some 2,2 million records in an address list. Nothing fancy and 17 fields (1 text index) only.
That's the nature of the beast when working in MS Access.
MySQL on the other hand, using VB, could fix the same thing on these machines in a few seconds.
Exporting and backing up the data always takes me less than 15 seconds to completion, and using ADO on MyODBC you get a better performance overall.
Not bad for a free alternative and the connection strings and VB functions are just about as simple as for MS Access.
LAMP ??? Less Appeal More Poking - on a source level that is...