I have a database that is throwing that extremely unhelpful error about "A problem occurred while Microsoft Access was communicating with the OLE server or ActiveX control". It is a single-file DB – not split. All tables and queries open normally and correctly.
I've tried all the usual things: decompile/recompile, C & R, look for missing references, security properly enabled, trusted location, etc. All that is exactly as it should be – no problems, but the problem remains.
This DB started life almost 20 years ago and has gone through dozens of updates, always working fine. It runs fine now on all my development machines: an old 2008 server with Access 2007, three different Win 10 desktops, one Win 10 notebook and a Win 11 notebook, all with Office 365. Opens everywhere without a hitch and everything works properly. But the customer for this DB just got a new Win 11 desktop machine, into which he installed Access 2019, and that is where this error is cropping up. It is happening in the start-up form, but when I open Access with Shift and manually try other forms, they act the same way.
The start form is unbound, with two subforms – one bound to a query and the other unbound. The source query for the bound subform works properly. When I try opening just the bound subform, it also throws this error. When I click the error message away a few times, it eventually pops up a dialog about wanting a parameter – one of the field in in the subform, but when I give it a value, it goes back to the initial error message. When I put a breakpoint on every single bit of code that would be called from any event in the the subform, none of it ever gets activated – it throws this error on opening and never even enters VBA. When I remove ALL the event calls (some to event procedures, some to functions), the error goes away and the subform (datasheet) opens properly.
The database was developed on a Czech machine, but the new machine is also Czech, and I am very careful about things like control names, field names and table names – strictly US ASCII, no spaces, no special characters.
It's not a corrupt form – again, it works perfectly on numerous other machines, and multiple forms fail in exactly the same way on this problem machine.
I've pretty much run out of things I can think of to try. Anybody have any ideas?
I've tried all the usual things: decompile/recompile, C & R, look for missing references, security properly enabled, trusted location, etc. All that is exactly as it should be – no problems, but the problem remains.
This DB started life almost 20 years ago and has gone through dozens of updates, always working fine. It runs fine now on all my development machines: an old 2008 server with Access 2007, three different Win 10 desktops, one Win 10 notebook and a Win 11 notebook, all with Office 365. Opens everywhere without a hitch and everything works properly. But the customer for this DB just got a new Win 11 desktop machine, into which he installed Access 2019, and that is where this error is cropping up. It is happening in the start-up form, but when I open Access with Shift and manually try other forms, they act the same way.
The start form is unbound, with two subforms – one bound to a query and the other unbound. The source query for the bound subform works properly. When I try opening just the bound subform, it also throws this error. When I click the error message away a few times, it eventually pops up a dialog about wanting a parameter – one of the field in in the subform, but when I give it a value, it goes back to the initial error message. When I put a breakpoint on every single bit of code that would be called from any event in the the subform, none of it ever gets activated – it throws this error on opening and never even enters VBA. When I remove ALL the event calls (some to event procedures, some to functions), the error goes away and the subform (datasheet) opens properly.
The database was developed on a Czech machine, but the new machine is also Czech, and I am very careful about things like control names, field names and table names – strictly US ASCII, no spaces, no special characters.
It's not a corrupt form – again, it works perfectly on numerous other machines, and multiple forms fail in exactly the same way on this problem machine.
I've pretty much run out of things I can think of to try. Anybody have any ideas?