Weird OLE server / Active-X Control error (1 Viewer)

tehvilinaty

New member
Local time
Today, 03:04
Joined
Jun 25, 2018
Messages
9
Here is my situation, I'm, working on a database on my computer, using Windows 10, Microsoft Office 2016. After making the database I move it to another computer, also with Windows 10, same version of Office.

The database works fine on my PC, but when I move the database to the other PC, I'm getting the OLE server / Active-X error. For example, when pressing a button that has any code: "The expression On Click you entered as the event property setting produced the following error: A problem occurred while Microsoft Access was communicating with the OLE server or ActiveX Control." There are no ActiveX controls, and in references I have only the essentials.

I've tried everything I could think of to fix the issue. Make a new file, delete the old and create new forms, change region and administrative settings to match both computers, windows update, driver update, anti-virus scan, repair/uninstall Office, everything I could think of.

Only way to bypass this problem is by opening a problematic form (that gives the error), go into Data tab -> Record Source, click the 3 dots to open the editor, run the query, save the query, save the form, and the error goes away. (No changes to the Record Source, just a simple save)

To make things even MORE confusing when I move that same database back to my own computer, it gives me the same error, so I have to do the same process to fix it on my end. Since the database has a lot of forms, this is getting really annoying to open/save all the forms every time I want to change something. What could possibly be wrong here?
 

CJ_London

Super Moderator
Staff member
Local time
Today, 11:04
Joined
Feb 19, 2013
Messages
16,612
Since the fix seems to be related to the record set, Is your backend sql server? Do both computers have the same odbc driver?
 

tehvilinaty

New member
Local time
Today, 03:04
Joined
Jun 25, 2018
Messages
9
The computers have the same odbc driver. The backend is in Postgres
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 05:04
Joined
Feb 28, 2001
Messages
27,186
"OLE" is also linked/embedded objects - like pictures and application objects. Take a look in the "Similar Threads" section below the main thread because you might find some useful discussions. You can also search the forum for "OLE Error" (with the quotes) to see how often that occurs. If you get an error number when doing this, search for "Access run-time error nnn" where nnn is the error number.

One complication is that the error you named ("A problem occurred while Microsoft Access was communicating with the OLE server or ActiveX Control") is actually a generic error, a "catch all" that doesn't actually tell you what happened. The fact that it occurs on two machines says that the problem is with the DB file or something that moves with the DB file. Since the backend is Postgres, I'll ask a question for which I think I know the answer anyway, but I have to eliminate possibilities. The database file you are moving IS just a front-end, right? No tables in it other than the hidden system tables, right?

Is there a chance that the queries exhibiting the problem include an "IN" clause to identify the location of the back-end files? And if so, do they use drive letter connectivity? Because if so, you might wish to try using UNC path naming to resolve the addresses. Just to clarify, there are two ways to interpret the keyword IN via SQL. There is "IN list" or "IN SELECT" where you supply a list of possible answers you would like, but there is the other one that relates to a FROM clause as identifying a location.


This is a GUESS on my part working with limited information. If the answers to my questions are all "NO" then I was on the wrong trail.
 

tehvilinaty

New member
Local time
Today, 03:04
Joined
Jun 25, 2018
Messages
9
This has been annoying me for almost 2 weeks, but sometimes you need to post somewhere online before you finally figure out what's going on. Finally, I figured it out, the computer I'm using is using English Office, the computer I pass the database has a different language for Office. It's odd because I installed the English Access Runtime on that computer but it showed the exact same error.

I did most of the development on my own computer but for some reason, it appears I did add some labels while working on the target computer remotely. When you make new controls in an Access form using a different Office language, the controls take names with that language instead, so instead of Label3435 they will have names how "label" is in that language plus some numbers.

I rarely bother naming my labels myself, I keep their default names, I only care about textboxes, checkboxes and so on to have proper names since I use them in my code. So, I didn't notice that some labels had names in a different language (that doesn't use latin alphabet). Which is what caused the error, MS Access was having trouble "finding" controls with non-latin named controls. For some reason, when a Form with controls in a different language is saved, the error goes away. I spent the last few weeks every time I made an update to the database I had to reopen and re-save every single form due to this annoying error. I assume this is because latin and non-latin versions of Office save (internally) text differently, otherwise I don't understand this behavior at all.

By the way, I did change the region settings of Windows to be the same, and I did change the administrative language to be the same on both computers, so this is clearly an issue with MS Office itself
 

arnelgp

..forever waiting... waiting for jellybean!
Local time
Today, 18:04
Joined
May 7, 2009
Messages
19,243

Users who are viewing this thread

Top Bottom