Why does Access report it can't receive a command to its program?

Basically, this error appears if a file type is set up to use DDE (an old Windows-3.x-style communication protocol between applications running on the same computer) to open a file.

You will find it in file types in folder options of explorer (maybe somewhere else on Windows 7, but there will be some place where an administrator can set up which files to open with which programs).

When that "Use DDE" option is checked, Windows will first check whether the program is already running, and then (if it does) send it a DDE message (consisting of 3 texts, "Application", "Topic" and "Message"). This way it can avoid opening the program again even if it is already running. When the program is not running, it is just started normally. In case the DDE connection fails, the dialog you mention will appear and it will just start the program again normally.

So, the easiest fix is just to disable "Use DDE" for the file extension of your database (I guess .mdb). The only drawback of this: When you open a database and Access is already running, Windows will open a second instance of Access, which will in turn notice the first one and send the DDE message and exit after that. I. e. you are unneccessarily starting Access so that it can close again at once. But nowadays with fast CPUs and hard disks, I guess this is acceptable :-)

The more complex fix would be to check whether something is wrong in these settings (like wrong topic or wrong application) and fix that. Doing that would require you having access to another (maybe virtual) machine where opening files work so that you can compare the DDE configuration.

EDIT: According to this website, that tab was dropped in Vista. You could always do it manually in the registry: Look up HKEY_CLASSES_ROOT\.mdb for its default value (say it is mdbfile) and then look at that default value (HKEY_CLASSES_ROOT\mdbfile\shell\open\ddeexec).


Here is the solution I found for Access 2002. It will be similar for other versions of Access.

  1. Open Access
  2. Click on Tools
  3. Click on Options
  4. Click on the Advanced Tab
  5. Uncheck the box next to "Ignore DDE requests"
  6. Close Access

It worked for me! No more "There was a problem sending the command to the program." error.

For the different versions of Access, the "Ignore DDE requests" option may be stated a little differently, but you should be able to find something comperable.

I hope this helps other who have the same problem.


Had this issue but only with specific office products (i.e. Excel and Word would work but Access would fail with the message).

Here is how I fixed the issue in Windows 7 - 64 Bit (Possibly would work for Vista as well).

NOTE: This solution involves editing your system registry. Please be careful as incorrectly editing the registry could corrupt your operating system!

Using Registry Editor provided with Windows 7 (Regedit)

  • Check the extension key in the registry for the current association
  • HKEY_CLASSES_ROOT\.mdb (I was dealing with Office 2007 but just locate the file extension entry you are interested in).
  • Check the (Default) value entry, then find the key in HKEY_CLASSES_ROOT it refers to (in my case this is Access.MDBFile).
  • Locate the sub key shell and delete it (see warning above)
  • Go back to and locate a file you wish to open, you will now be asked to choose a program to open it with. At this point locate the office program you wish to use to open the file and your done.

Checking my settings after doing this, noticed that the Access.MDBFile key in the registry had changed, it now had a CLSID key that pointed to the new home of the file association.

  • The sub key CLSID (in my case HKEY_CLASSES_ROOT\Access.MDBFile\CLSID, (Default) value was {73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}).
  • Used find to search for the CLSID (excluding curly brackets), remember to check under Look at -> Keys before performing the search (in my case found key HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9} but this could differ, my example is for 64 bit system handling a 32 bit version of Office 2007).
  • This reference is to the "Microsoft Office Access Application" that uses an In-process server to launch the application, using this method fixed my Access file associations.