基本上,如果将文件类型设置为使用DDE(同一台计算机上运行的应用程序之间的旧Windows-3.x样式通信协议)打开文件,则会出现此错误。
您可以在资源管理器的文件夹选项的文件类型中找到它(可能在Windows 7上的其他位置,但是管理员可以在某些地方设置要使用哪些程序打开哪些文件)。
选中“使用DDE”选项后,Windows将首先检查该程序是否已在运行,然后(如果已运行)向其发送DDE消息(由3个文本组成,“应用程序”,“主题”和“消息” )。这样,即使它已经在运行,它也可以避免再次打开该程序。当程序未运行时,它将正常启动。如果DDE连接失败,将出现您提到的对话框,它将仅重新正常启动程序。
因此,最简单的解决方法就是禁用数据库文件扩展名“ Use DDE”(我猜是.mdb)。这样做的唯一缺点是:当您打开数据库并且Access已经在运行时,Windows将打开Access的第二个实例,这将依次注意到第一个实例,并发送DDE消息并在此之后退出。即 您不必要地启动Access,以便它可以立即再次关闭。但是如今,使用快速的CPU和硬盘,我想这是可以接受的:-)
更复杂的修复方法是检查这些设置中是否存在错误(例如错误的主题或错误的应用程序),然后进行修复。这样做将需要您访问可以打开文件的另一台(也许是虚拟的)计算机,以便可以比较DDE配置。
编辑:根据此网站,该选项卡已在Vista中删除。您始终可以在注册表中手动进行操作:查找HKEY_CLASSES_ROOT\.mdb
其默认值(假设是mdbfile
),然后查看该默认值(HKEY_CLASSES_ROOT\mdbfile\shell\open\ddeexec
)。