Warum meldet Access, dass es keinen Befehl an sein Programm empfangen kann?

9

Ich habe gerade ein Upgrade auf Windows 7 durchgeführt und nach der Neuinstallation von MS Office ist ein interessanter Fehler aufgetreten. Wenn ich auf eine Datenbank klicke, wird die Popup-Meldung "Beim Senden des Befehls an das Programm ist ein Problem aufgetreten" angezeigt. Die Dateianwendung wird jedoch weiterhin gestartet und die richtige Datenbank wird geöffnet.

Hat jemand jemals so etwas gesehen?

Wie würde ich dieses Problem untersuchen und dann beheben?

Hinweis: Ich verwende keinen Zonenalarm. Die meisten Online-Suchanfragen zu diesem Problem geben verschiedene Websites und MSKB-Artikel zurück, in denen Probleme mit Zone-Alarm behandelt werden

Gelöst: Dank an Mihi --- Nach dem Umbenennen des Registrierungsschlüssels von ddexec in NOddeexec ist das Problem behoben - immer noch nicht sicher, warum die DDE defekt ist, funktioniert aber jetzt gut genug für mich

Noah
quelle
Klicken Sie auf die Datenbankdatei selbst oder auf eine Verknüpfung dazu?
JohnFx
Ich klicke auf die Datenbankdatei selbst.
Noah
Verwenden Sie eine andere Firewall?
Harrymc
Nur die Standard-Win-7 enthielt eine Firewall. Außerdem befindet sich die Datei auf meinem lokalen Laufwerk in einem Unterverzeichnis von MyDocuments
Noah
Sind Sie als Administrator angemeldet? Haben Sie versucht, die Benutzerkontensteuerung vollständig auszuschalten?
Harrymc

Antworten:

2

Hatte dieses Problem aber nur mit bestimmten Office-Produkten (dh Excel und Word würden funktionieren, aber Access würde mit der Nachricht fehlschlagen).

Hier ist, wie ich das Problem in Windows 7 - 64 Bit behoben habe (möglicherweise funktioniert es auch für Vista).

HINWEIS: Bei dieser Lösung müssen Sie Ihre Systemregistrierung bearbeiten. Bitte seien Sie vorsichtig, da eine falsche Bearbeitung der Registrierung Ihr Betriebssystem beschädigen kann!

Verwenden des mit Windows 7 (Regedit) bereitgestellten Registrierungseditors

  • Überprüfen Sie den Erweiterungsschlüssel in der Registrierung auf die aktuelle Zuordnung
  • HKEY_CLASSES_ROOT\.mdb (Ich habe mich mit Office 2007 befasst, aber suchen Sie einfach den Dateierweiterungseintrag, an dem Sie interessiert sind .)
  • Überprüfen Sie den Werteintrag(Default) und suchen Sie den Schlüssel, auf den HKEY_CLASSES_ROOTer verweist (in meinem Fall ist dies Access.MDBFile) .
  • Suchen Sie den Unterschlüssel shellund löschen Sie ihn (siehe Warnung oben).
  • Gehen Sie zurück zu und suchen Sie eine Datei, die Sie öffnen möchten. Sie werden nun aufgefordert, ein Programm zum Öffnen auszuwählen. Suchen Sie zu diesem Zeitpunkt das Office-Programm, mit dem Sie die Datei öffnen möchten, und fertig.

Nachdem ich meine Einstellungen überprüft hatte, stellte ich fest, dass sich der Access.MDBFileSchlüssel in der Registrierung geändert hatte. Er hatte jetzt einen CLSIDSchlüssel, der auf die neue Startseite der Dateizuordnung zeigte.

  • Der Unterschlüssel CLSID (in meinem Fall HKEY_CLASSES_ROOT\Access.MDBFile\CLSIDwar der (Default)Wert {73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}) .
  • Verwenden Sie find, um nach CLSID (ohne geschweifte Klammern) zu suchen. Denken Sie daran, vor der Suche unter Look at-> zu prüfen (in meinem Fall wurde der Schlüssel gefunden , dies kann jedoch abweichen. Mein Beispiel ist ein 64-Bit-System, das eine 32-Bit-Version von Office 2007 verarbeitet) .KeysHKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
  • Dieser Verweis bezieht sich auf die "Microsoft Office Access-Anwendung", die einen In-Process-Server zum Starten der Anwendung verwendet. Mit dieser Methode wurden meine Access-Dateizuordnungen behoben.
Lankymart
quelle
6

Grundsätzlich tritt dieser Fehler auf, wenn ein Dateityp so eingerichtet ist, dass DDE (ein altes Kommunikationsprotokoll im Windows-3.x-Stil zwischen Anwendungen, die auf demselben Computer ausgeführt werden) zum Öffnen einer Datei verwendet wird.

Sie finden es in Dateitypen in den Ordneroptionen des Explorers (möglicherweise an einer anderen Stelle unter Windows 7, aber es gibt einen Ort, an dem ein Administrator festlegen kann, welche Dateien mit welchen Programmen geöffnet werden sollen).

Wenn diese Option "DDE verwenden" aktiviert ist, prüft Windows zunächst, ob das Programm bereits ausgeführt wird, und sendet ihm dann (falls vorhanden) eine DDE-Nachricht (bestehend aus 3 Texten, "Anwendung", "Thema" und "Nachricht"). ). Auf diese Weise kann vermieden werden, dass das Programm erneut geöffnet wird, auch wenn es bereits ausgeführt wird. Wenn das Programm nicht ausgeführt wird, wird es nur normal gestartet. Falls die DDE-Verbindung fehlschlägt, wird der von Ihnen erwähnte Dialog angezeigt und das Programm wird einfach wieder normal gestartet.

Die einfachste Lösung besteht darin, "DDE verwenden" für die Dateierweiterung Ihrer Datenbank zu deaktivieren (ich denke, .mdb). Der einzige Nachteil davon: Wenn Sie eine Datenbank öffnen und Access bereits ausgeführt wird, öffnet Windows eine zweite Instanz von Access, die wiederum die erste bemerkt und die DDE-Nachricht sendet und danach beendet. I. e. Sie starten Access unnötigerweise, damit es sofort wieder geschlossen werden kann. Aber heutzutage mit schnellen CPUs und Festplatten denke ich, dass dies akzeptabel ist :-)

Die komplexere Lösung besteht darin, zu überprüfen, ob in diesen Einstellungen etwas nicht stimmt (z. B. falsches Thema oder falsche Anwendung), und dies zu beheben. Dazu müssten Sie Zugriff auf eine andere (möglicherweise virtuelle) Maschine haben, auf der das Öffnen von Dateien funktioniert, damit Sie die DDE-Konfiguration vergleichen können.

BEARBEITEN: Laut dieser Website wurde diese Registerkarte in Vista gelöscht. Sie können dies jederzeit manuell in der Registrierung tun: Suchen Sie HKEY_CLASSES_ROOT\.mdbnach dem Standardwert (sagen wir, mdbfiledass dies der Fall ist ) und überprüfen Sie dann diesen Standardwert ( HKEY_CLASSES_ROOT\mdbfile\shell\open\ddeexec).

mihi
quelle
Ich habe Zugriff auf eine andere Arbeitsmaschine. Wo würde ich suchen, um die DDE-Konfiguration zu vergleichen?
Noah
@Noah: Gehen Sie im Windows Explorer zu Extras -> Ordneroptionen. Klicken Sie auf die Registerkarte Dateitypen. Suchen Sie den MDB-Dateityp. Wählen Sie Erweitert. Klicken Sie auf die Aktion "Öffnen" und wählen Sie "Bearbeiten ...". Denken Sie daran, dass die andere Workstation beim Vergleich mit einer anderen Workstation möglicherweise DDE verwendet. Da Ihre Workstation dies jedoch nicht tut, deaktivieren Sie sie und prüfen Sie, ob dies funktioniert (möglicherweise nach einem Neustart).
Andy
Windows 7 hat keine Registerkarte "Ordneroptionen"
Noah
Laut mydigitallife.info/2008/06/20/… wurde diese Registerkarte in Vista gelöscht. Sie können dies jederzeit manuell in der Registrierung tun: Suchen Sie nach HKEY_CLASSES_ROOT \ .mdb für den Standardwert (sagen wir, es ist mdbfile) und überprüfen Sie dann diesen Standardwert (HKEY_CLASSES_ROOT \ mdbfile \ shell \ open \ ddeexec) ...
mihi
Können Sie diesen letzten Kommentar zu Ihrer Antwort hinzufügen?
Noah
2

Hier ist die Lösung, die ich für Access 2002 gefunden habe. Sie wird für andere Versionen von Access ähnlich sein.

  1. Uneingeschränkter Zugang
  2. Klicken Sie auf Extras
  3. Klicken Sie auf Optionen
  4. Klicken Sie auf die Registerkarte Erweitert
  5. Deaktivieren Sie das Kontrollkästchen neben "DDE-Anforderungen ignorieren".
  6. Schließen Sie den Zugriff

Es hat bei mir funktioniert! Nicht mehr "Es gab ein Problem beim Senden des Befehls an das Programm." Error.

Für die verschiedenen Versionen von Access wird die Option "DDE-Anforderungen ignorieren" möglicherweise etwas anders angegeben, aber Sie sollten in der Lage sein, etwas Kompatibles zu finden.

Ich hoffe das hilft anderen, die das gleiche Problem haben.

Robert Valentine
quelle
1

Im installierten Büroordner. Klicken Sie mit der rechten Maustaste auf Excel / Winword .exe und wählen Sie Eigenschaften aus. Wählen Sie die Registerkarte Kompatibilität und stellen Sie sicher, dass "Dieses Programm im Kompatibilitätsmodus ausführen für" deaktiviert ist.

Mick
quelle
1

Hier ist das Update für Access 2007:

  • Klicken Sie auf die Office "Münze" in der oberen linken Ecke von Access.
  • Wählen Sie "Zugriffsoptionen"
  • Wählen Sie die Option "Erweitert"
  • Scrollen Sie zum unteren Rand und deaktivieren Sie das Kontrollkästchen "DDE-Anforderungen ignorieren".

Sollte sich gut öffnen lassen, ohne mit der Registrierung herumspielen zu müssen.

Jam88
quelle
0

Hat jemand jemals so etwas gesehen?

wahrscheinlich, da der Fehler in diesem MSKB-Artikel dokumentiert ist . Es wurde auch im Zusammenhang mit ZoneAlarm erwähnt.


quelle
Ich habe diese MSKB-Artikel gelesen, aber ich verwende ZoneAlarm überhaupt nicht. Es ist ein Vanilla Win7 Upgrade
Noah
Ich habe keine Lösung und weise nur darauf hin, dass dieser Fehler ziemlich häufig ist. aber die Antworten sind bestenfalls vage, scheint eines dieser Fenster-Rätsel zu sein. :)
0

Protokoll der Aktivitäten:

Ich habe die Systemsteuerung verwendet, um die Office 2007-Installation zu ändern und Access zu entfernen. Dann habe ich über die Systemsteuerung wieder Access hinzugefügt. Dies hatte keine Auswirkungen auf das Problem.

Ich habe die Office 2007-Installation über die Systemsteuerung repariert und dann neu gestartet. Dies hatte keine Auswirkungen auf das Problem.

HINWEIS:

  • Wenn ich auf die Datei doppelklicke, tritt das Problem auf. Wenn ich mit der rechten Maustaste klicke, OpenWith und Access wähle, tritt das Problem nicht auf.
  • Dieses Problem tritt bei Excel nicht auf
Noah
quelle
0

Ich bin mir nicht sicher, aber könnte es sein, dass beim Zugriff diese Option zum Hören bei DDE-Anrufen deaktiviert ist. Ich habe diese Option in Word gesehen und auch Excel, aber ich erinnere mich nicht an den Zugriff. Vielleicht ein Sicherheitsproblem, um dies besser zu deaktivieren ...

Eis
quelle
0

Ich verwende Access nicht, habe jedoch kürzlich das gleiche Problem mit Excel und Word (2007) unter Win7 festgestellt, als ich Dokumente aus der Liste "Zuletzt verwendet" in meinem Startmenü geöffnet habe (mithilfe des Pfeils im Menüelement "Word-Verknüpfung"). Die DDE-Checkbox-Lösung traf auf mich nicht zu, da sie bereits deaktiviert war (und meines Wissens nicht in Word vorhanden ist).

Ich bin auf eine Lösung gestoßen, die das Problem für mich behoben zu haben scheint: Als ich das Dialogfeld Eigenschaften für die Dokumentverknüpfung öffnete (über das Kontextmenü; siehe Abbildung unten), bemerkte ich, dass das Feld "Öffnen mit" irgendwie in geändert wurde eine andere Anwendung als Microsoft Word. Durch Klicken auf die Schaltfläche "Ändern" konnte ich diese Datei erneut mit "Microsoft Office Word" verknüpfen (ohne mich mit der Registrierung herumschlagen zu müssen).

Geben Sie hier die Bildbeschreibung ein

kmote
quelle
0

Wenn dieser Fehler bei Verwendung von Office unter Windows 7 mit einer Access ADP-Datei auftritt, liegt das Problem möglicherweise an einer Firewall.

Windows XP mit Access 2007 verwendet SMB für die Kommunikation mit dem MSSQL Server. Windows 7 mit Access 2007 verwendet den TCP-Port 1433 (Standard-SQL-Port), um zu versuchen, auf den MSSQL-Server zuzugreifen. Wenn Sie über eine Windows-Firewall oder einen Hardware-Firewall-Blockierungsport 1433 verfügen, wird dreimal versucht, eine Verbindung herzustellen. Wenn dies beim dritten Mal fehlschlägt, wird auf SMB umgeschaltet und funktioniert normal.

Öffnen Sie den TCP-Port 1433 auf dem Server, auf dem der SQL Server ausgeführt wird.

Ich habe nicht herausgefunden, warum Windows 7 zuerst den TCP-Port 1433 anstelle von SMB wie XP verwendet, und ich habe nicht herausgefunden, wie er geändert wird.

Mike B.
quelle
Wie ist die Beziehung für MySQL in dieser Word / Excel-App überhaupt? Ich habe nicht verstanden, was du meinst ... Entschuldigung.
Gumuruh