Właśnie zaktualizowałem system do wersji Windows 7, a po ponownej instalacji pakietu MS Office pojawia się interesujący błąd. Po kliknięciu bazy danych pojawia się komunikat „Wystąpił problem z wysłaniem polecenia do programu”, ale aplikacja do plików nadal będzie działać i otworzy się odpowiednia baza danych.
Czy ktoś kiedykolwiek widział coś takiego?
Jak mógłbym zająć się badaniem, a następnie naprawieniem tego problemu?
Uwaga: nie używam alarmu strefy. Większość wyszukiwań online tego problemu zwraca różne witryny i artykuły MSKB omawiające problemy za pomocą Zone-Alarm
ROZWIĄZANE: Dzięki Mihi --- Po zmianie nazwy klucza rejestru z ddexec na NOddeexec problem zniknął - nadal nie jestem pewien, dlaczego DDE jest uszkodzony, ale działa wystarczająco dobrze dla mnie teraz
Odpowiedzi:
Gdyby ten problem występował tylko w przypadku określonych produktów biurowych (tj. Excel i Word działałyby, ale Access nie działał z komunikatem).
Oto jak rozwiązałem problem w systemie Windows 7 - 64-bitowym (prawdopodobnie działałoby to również w systemie Vista).
Korzystanie z Edytora rejestru dostarczonego z systemem Windows 7 (Regedit)
HKEY_CLASSES_ROOT\.mdb
(Miałem do czynienia z pakietem Office 2007, ale po prostu znajdź interesujący Cię wpis rozszerzenia pliku) .(Default)
wpis wartości, a następnie znajdź w nim klucz, doHKEY_CLASSES_ROOT
którego się odwołuje (w moim przypadku jest to plik Access.MDB) .shell
i usuń go (patrz ostrzeżenie powyżej)Sprawdzając moje ustawienia po zrobieniu tego, zauważyłem, że
Access.MDBFile
klucz w rejestrze się zmienił, teraz miałCLSID
klucz, który wskazywał na nowy dom stowarzyszenia plików.CLSID
(w moim przypadkuHKEY_CLASSES_ROOT\Access.MDBFile\CLSID
,(Default)
wartość była{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
) .CLSID
(z wyjątkiem nawiasów klamrowych) , pamiętaj, aby sprawdzić podLook at
->Keys
przed wykonaniem wyszukiwania (w moim przypadku znaleziono klucz,HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
ale może się różnić, mój przykład dotyczy 64-bitowego systemu obsługującego 32-bitową wersję pakietu Office 2007) .źródło
Zasadniczo ten błąd pojawia się, jeśli typ pliku jest skonfigurowany do korzystania z DDE (stary protokół komunikacyjny w stylu Windows-3.x między aplikacjami działającymi na tym samym komputerze) do otwierania pliku.
Znajdziesz go w typach plików w opcjach folderów eksploratora (może gdzieś indziej w systemie Windows 7, ale będzie miejsce, w którym administrator może skonfigurować pliki, które będą otwierane za pomocą których programów).
Gdy ta opcja „Użyj DDE” jest zaznaczona, Windows najpierw sprawdzi, czy program jest już uruchomiony, a następnie (jeśli tak się stanie) wyśle mu komunikat DDE (składający się z 3 tekstów, „Aplikacja”, „Temat” i „Wiadomość” ). W ten sposób można uniknąć ponownego otwarcia programu, nawet jeśli jest już uruchomiony. Gdy program nie działa, uruchamia się normalnie. W przypadku awarii połączenia DDE pojawi się okno dialogowe, o którym wspomniasz, i po prostu ponownie uruchomi program normalnie.
Zatem najłatwiejszym rozwiązaniem jest wyłączenie „Użyj DDE” dla rozszerzenia pliku bazy danych (chyba .mdb). Jedyna wada tego: gdy otworzysz bazę danych i Access już działa, Windows otworzy drugą instancję Access, która z kolei zauważy pierwszą i wyśle komunikat DDE, a następnie wyjdzie. I. e. niepotrzebnie uruchamiasz program Access, aby można go było od razu zamknąć. Ale obecnie w przypadku szybkich procesorów i dysków twardych wydaje mi się, że jest to dopuszczalne :-)
Bardziej złożoną poprawką byłoby sprawdzenie, czy coś jest nie tak w tych ustawieniach (np. Zły temat lub niewłaściwa aplikacja) i naprawienie tego. Wymagałoby to dostępu do innej (być może wirtualnej) maszyny, na której działają otwieranie plików, dzięki czemu można porównać konfigurację DDE.
EDYCJA: Według tej witryny ta karta została upuszczona w systemie Vista. Zawsze możesz to zrobić ręcznie w rejestrze: wyszukaj
HKEY_CLASSES_ROOT\.mdb
jego wartość domyślną (powiedzmy, że jestmdbfile
), a następnie spójrz na tę wartość domyślną (HKEY_CLASSES_ROOT\mdbfile\shell\open\ddeexec
).źródło
Oto rozwiązanie, które znalazłem dla Access 2002. Będzie podobne w przypadku innych wersji Access.
To zadziałało dla mnie! Nigdy więcej „Wystąpił problem z wysłaniem polecenia do programu”. błąd.
W przypadku różnych wersji programu Access opcja „Ignoruj żądania DDE” może być określona nieco inaczej, ale powinieneś być w stanie znaleźć coś, co da się przekonać.
Mam nadzieję, że to pomoże innym, którzy mają ten sam problem.
źródło
W zainstalowanym folderze biurowym. kliknij prawym przyciskiem myszy plik excel / winword .exe i wybierz właściwości. Wybierz kartę kompatybilności i upewnij się, że „uruchom ten program w trybie zgodności dla” jest NIEZNACZONY.
źródło
Napraw to z MS - Wystąpił problem z wysłaniem polecenia do programu.
(Excel otwiera się z błędem lub bez wyświetlania skoroszytu)
Ten artykuł został wcześniej opublikowany pod numerem Q211494.
źródło
Oto poprawka do programu Access 2007:
Powinien otworzyć się dobrze, bez bałagania w rejestrze.
źródło
prawdopodobnie, ponieważ błąd jest udokumentowany w tym artykule MSKB . wspomniano również w związku ze ZoneAlarm.
źródło
Dziennik czynności:
Użyłem Panelu sterowania, aby zmienić instalację pakietu Office 2007, usuwając Access. Następnie za pomocą Panelu sterowania ponownie wróciłem Access. Nie miało to wpływu na problem.
Użyłem Panelu sterowania do naprawy instalacji pakietu Office 2007, a następnie uruchomiłem ponownie. Nie miało to wpływu na problem.
UWAGA:
źródło
Nie jestem pewien, ale może być tak, że w dostępie ta opcja słyszenia w połączeniach DDE jest wyłączona. Widziałem tę opcję w programie Word i Excel też, ale nie pamiętam dostępu. Może problem bezpieczeństwa, aby lepiej wyłączyć to ...
źródło
Nie korzystam z programu Access, ale ostatnio zacząłem napotykać ten sam problem z programami Excel i Word (2007) na Win7 podczas otwierania dokumentów z listy „Ostatnie” w moim menu Start (za pomocą strzałki w pozycji menu Skrót Word). Rozwiązanie pola wyboru DDE nie dotyczyło mnie, ponieważ zostało już odznaczone (i o ile wiem, nie istnieje w programie Word).
Natknąłem się na rozwiązanie, które wydaje się, że rozwiązało problem: kiedy otworzyłem okno dialogowe Właściwości skrótu dokumentu (z menu kontekstowego; patrz zrzut ekranu poniżej), zauważyłem, że pole „Otwiera się” zostało w jakiś sposób zmienione na inna aplikacja niż Microsoft Word. Kliknięcie przycisku „Zmień” umożliwiło mi ponowne skojarzenie tego pliku z „Microsoft Office Word” (bez konieczności bałagania w rejestrze).
źródło
Jeśli ten błąd pojawia się podczas używania pakietu Office z systemem Windows 7 z plikiem Access ADP, problem może być spowodowany zaporą ogniową.
Windows XP z Access 2007 używa SMB do komunikacji z serwerem MSSQL. Windows 7 z Access 2007 używa portu 1433 TCP (standardowy port SQL), aby spróbować dostać się do serwera MSSQL. Jeśli masz Zaporę systemu Windows lub sprzętową zaporę blokującą port 1433, próbuje 3 razy nawiązać połączenie, a gdy zawiedzie po raz trzeci, przełącza się na SMB i działa normalnie.
Otwórz port TCP 1433 na serwerze z programem SQL Server.
Nie dowiedziałem się, dlaczego Windows 7 najpierw używa portu TCP 1433 zamiast SMB, takiego jak XP, i nie dowiedziałem się, jak to zmienić.
źródło