I am referring to bloat from extensive development. The data is all in backend databases. I delete any objects (Modules, Forms, Reports, Queries, Tables) that are not required and Compact & Repair often.
Am I correct that to use the decompile suggestion that I would:
- Save As an accde.
- immediately decompile the accde.
Is there anything else I need to do after decompiling? e.g. Update Tools > References, Options, etc?
After doing the following command (located in a shortcut) the file was still the same size as before. I then opened it, did a Compact & Repair and closed it. It has now shrunk by about 60% which probably makes sense.
1. /Decompile does not remove all bloat (although in most cases, it's a good size chunk of it). It only involves code. To remove all the junk, you need to create a new db as well, and to really dig everything out, you need to do a savetotext / loadfromtext on objects to remove everything. There is some code and one utility I'm aware of (EatBloat) to do this.
2. /Decompile was not created for removing the -p-code because of any short comings in compact and repair.. It was created when Microsoft was hooking up VBA to Access to replace Access Basic. They were changing the interfaces from week to week and back then, creating a new DB was a time consuming process. So everyone needed a quick way to invalidate any compiled code.
Jim.
Bob Collison
ASKER
Hi Jim,
Thanks for the additional insight.
Since decompile does most of it I'll use it most of the time with a periodic manual rebuild.
I'm not aware of what 'savetotext / loadfromtext' is or how to do it.
This mechanism was never meant as a import/export entry point, but as a simple way to create form, macros, report and queries from a pre-canned source, such as a number of the wizards shipped with Access.
So again, it's something that was designed for something else, but you can use it to repair forms and reports, and possibly reduce bloat.
For both, it's the fact that you are creating an object from scratch within the current version and not carrying any baggage over from previous versions.
If you look around, you will see various places that have written utilities to utilize this:
Prior to all these was a utility written called "Eat Bloat", which did the same thing and has been floating around for a considerable number of years. I'm not sure where it stands at the moment. It was written by one person, then taken over by another who really never did anything with it that I'm aware of.
There is enough code floating around though that you could get something working fairly quickly. The code in the first link is fairly complete if I remember correctly.
I am referring to bloat from extensive development. The data is all in backend databases. I delete any objects (Modules, Forms, Reports, Queries, Tables) that are not required and Compact & Repair often.
Am I correct that to use the decompile suggestion that I would:
- Save As an accde.
- immediately decompile the accde.
Is there anything else I need to do after decompiling? e.g. Update Tools > References, Options, etc?
BTW. I have Total Access Analyzer.
Thanks,
Bob C.