bentheimmigrant
Lost & confused
- Local time
- Today, 20:46
- Joined
- Aug 21, 2015
- Messages
- 60
I've been taking over a sizeable Access/VBA project, and we've been integrating a third party dll based tool. Sometimes, when creating the objects to use the tool, something goes wrong. This is intermittent, and apparently impossible to consistently re-produce.
Unfortunately, I've only found two ways to fix the problem, one is to close and reopen Access (10 times was the highest count), and the other is to Compact and Repair (usually works first time).
I can't tell if the problem is in the tables (all stored in the back-end) or in the forms on the front end.
Unsurprisingly, my boss would like this to resolve itself when there are issues setting up.
Long story short, I'm planning to write a function to (possibly) close the forms, compact and repair, and then re-open and load the view the user was last on. I think there's enough out there on this that I'll be able to cobble something together in VBA. But my real questions are:
Unfortunately, I've only found two ways to fix the problem, one is to close and reopen Access (10 times was the highest count), and the other is to Compact and Repair (usually works first time).
I can't tell if the problem is in the tables (all stored in the back-end) or in the forms on the front end.
Unsurprisingly, my boss would like this to resolve itself when there are issues setting up.
Long story short, I'm planning to write a function to (possibly) close the forms, compact and repair, and then re-open and load the view the user was last on. I think there's enough out there on this that I'll be able to cobble something together in VBA. But my real questions are:
- Does Compact and Repair do anything with the front end forms?
- If not, can I leave the front form open (with some kind of "please wait" message while it happens?
- What could go wrong? Do I need to backup everything every time I carry this out?
- In the event that it's not broken fields in the database (the 3rd party tool takes a long encoded string from one of the tables to load its settings, so why do I only sometimes need Compact/Repair if that's the issue?), and compact & repair isn't strictly necessary, what other options are there to produce a similar effect of unloading and reloading everything?