manoj_johar
asked on
Problem with MS Access - deleting records...
Hi,
I have this app that interacts with an MS Access table in an mdb file. I added some 5k records and the size of the mdb file shows up as 300Kb.....then I deleted all the records.....still the size remanins the same!! I again added another 5K records and the size went up to 600Kb !! I again delete the records ...but the size remains the same!! Ne idea why this is happening?
Pssst...just try it out on ur system....am sure u'll face the same problem......just create a table manually.....add records...chk the size...delete the records and chk the size again!
I have this app that interacts with an MS Access table in an mdb file. I added some 5k records and the size of the mdb file shows up as 300Kb.....then I deleted all the records.....still the size remanins the same!! I again added another 5K records and the size went up to 600Kb !! I again delete the records ...but the size remains the same!! Ne idea why this is happening?
Pssst...just try it out on ur system....am sure u'll face the same problem......just create a table manually.....add records...chk the size...delete the records and chk the size again!
>>>> Ne idea why this is happening
That's very simple, MS ACCESS (and all other DBMS i know) don't rfree storage after delete. Normaly, that's an request directed to a file system but not to a DBMS.
Regards, Alex
That's very simple, MS ACCESS (and all other DBMS i know) don't rfree storage after delete. Normaly, that's an request directed to a file system but not to a DBMS.
Regards, Alex
There is a option in MSAccess to compact you database, as Onegazhang suggest ... but you can do it using the command line prompt
<path to>msaccess.exe <path to>yourbackend.mdb /compact
this should work. But be warned that it can be a lengthy process depending on the size of you mdb file, and lengthier if the databse is on the network.
regards, David
<path to>msaccess.exe <path to>yourbackend.mdb /compact
this should work. But be warned that it can be a lengthy process depending on the size of you mdb file, and lengthier if the databse is on the network.
regards, David
The compacting option using MSAccess can be found under the tools->utilities->Compacti ng ...... (or something like that (i have a french system)) .
ASKER
Hi,
Thanks all for those replies. Thing is that i am doing this 'programatically'. So even though i selected the compact database option I am just doing an OpenConnection using ADO Connection object.
Neways, I figured that I can create a macro inside the mdb that will trigger the compact database command. Now I need to fire this macro from within my code. Any idea how to fire a macro from code?
Thanks all for those replies. Thing is that i am doing this 'programatically'. So even though i selected the compact database option I am just doing an OpenConnection using ADO Connection object.
Neways, I figured that I can create a macro inside the mdb that will trigger the compact database command. Now I need to fire this macro from within my code. Any idea how to fire a macro from code?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
nice answer Onega ... i'll keep this one on my list of solution !
Regards!
David
Regards!
David
welcome to www.fruitfruit.com