Dlaczego Access informuje, że nie może otrzymać polecenia do swojego programu?


9

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


Czy klikasz sam plik bazy danych, czy skrót do niego?
JohnFx

Klikam sam plik bazy danych.
Noah

Czy używasz innej zapory?
harrymc

Tylko standardowa Win-7 zawiera zaporę ogniową. Ponadto plik znajduje się na moim dysku lokalnym w podkatalogu MyDocuments
Noah

Jesteś zalogowany jako administrator? Czy próbowałeś całkowicie wyłączyć UAC?
harrymc

Odpowiedzi:


2

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).

UWAGA: To rozwiązanie obejmuje edycję rejestru systemu. Zachowaj ostrożność, ponieważ nieprawidłowa edycja rejestru może uszkodzić system operacyjny!

Korzystanie z Edytora rejestru dostarczonego z systemem Windows 7 (Regedit)

  • Sprawdź klucz rozszerzenia w rejestrze dla bieżącego powiązania
  • HKEY_CLASSES_ROOT\.mdb (Miałem do czynienia z pakietem Office 2007, ale po prostu znajdź interesujący Cię wpis rozszerzenia pliku) .
  • Sprawdź (Default)wpis wartości, a następnie znajdź w nim klucz, do HKEY_CLASSES_ROOTktórego się odwołuje (w moim przypadku jest to plik Access.MDB) .
  • Znajdź podklucz shelli usuń go (patrz ostrzeżenie powyżej)
  • Wróć do i znajdź plik, który chcesz otworzyć, zostaniesz poproszony o wybranie programu, w którym chcesz go otworzyć. W tym momencie zlokalizuj program pakietu Office, którego chcesz użyć, aby otworzyć plik i gotowe.

Sprawdzając moje ustawienia po zrobieniu tego, zauważyłem, że Access.MDBFileklucz w rejestrze się zmienił, teraz miał CLSIDklucz, który wskazywał na nowy dom stowarzyszenia plików.

  • Kluczem sub CLSID (w moim przypadku HKEY_CLASSES_ROOT\Access.MDBFile\CLSID, (Default)wartość była {73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}) .
  • Wykorzystano find do wyszukania CLSID (z wyjątkiem nawiasów klamrowych) , pamiętaj, aby sprawdzić pod Look at-> Keysprzed 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) .
  • To odniesienie dotyczy „aplikacji Microsoft Office Access”, która używa serwera w trakcie procesu do uruchomienia aplikacji, przy użyciu tej metody naprawiono moje powiązania plików Access.

6

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\.mdbjego wartość domyślną (powiedzmy, że jest mdbfile), a następnie spójrz na tę wartość domyślną ( HKEY_CLASSES_ROOT\mdbfile\shell\open\ddeexec).


Mam dostęp do innej działającej maszyny. Gdzie chciałbym porównać konfigurację DDE?
Noah

@Nieah: W Eksploratorze Windows przejdź do Narzędzia -> Opcje folderów. Kliknij kartę Typy plików. Znajdź typ pliku mdb. Wybierz Zaawansowane. Kliknij czynność „Otwórz” i wybierz „Edytuj ...”. Pamiętaj, że jeśli porównujesz to z inną stacją roboczą, inna stacja robocza może dobrze używać DDE, ale ponieważ twoja stacja robocza nie jest, spróbuj odznaczyć i sprawdzić, czy to działa (być może po ponownym uruchomieniu).
Andy,

Windows 7 nie ma zakładki „Opcje folderów”
Noah,

Według mydigitallife.info/2008/06/20 /... ta karta została upuszczona w systemie Vista. Zawsze możesz to zrobić ręcznie w rejestrze: wyszukaj HKEY_CLASSES_ROOT \ .mdb, aby zobaczyć jego wartość domyślną (powiedz, że to mdbfile), a następnie spójrz na tę wartość domyślną (HKEY_CLASSES_ROOT \ mdbfile \ shell \ open \ ddeexec) ...
mihi

Czy możesz dodać ten ostatni komentarz do swojej odpowiedzi.
Noah

2

Oto rozwiązanie, które znalazłem dla Access 2002. Będzie podobne w przypadku innych wersji Access.

  1. Otwarty dostęp
  2. Kliknij Narzędzia
  3. Kliknij Opcje
  4. Kliknij kartę Zaawansowane
  5. Odznacz pole obok „Ignoruj ​​żądania DDE”
  6. Zamknij dostęp

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.


1

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.



1

Oto poprawka do programu Access 2007:

  • Kliknij „Monetę” pakietu Office w lewym górnym rogu programu Access.
  • Wybierz „Opcje dostępu”
  • Wybierz opcję „Zaawansowane”
  • Przewiń do dna i odznacz „Ignoruj ​​żądania DDE”

Powinien otworzyć się dobrze, bez bałagania w rejestrze.


0

Czy ktoś kiedykolwiek widział coś takiego?

prawdopodobnie, ponieważ błąd jest udokumentowany w tym artykule MSKB . wspomniano również w związku ze ZoneAlarm.


Czytam te artykuły MSKB, ale w ogóle nie używam ZoneAlarm. To waniliowe ulepszenie Win7
Noah

nie mam rozwiązania, tylko wskazując, że ten błąd jest dość powszechny. ale odpowiedzi są w najlepszym razie niejasne, wydaje się być jedną z tych tajemnic systemu Windows. :)

0

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:

  • Po dwukrotnym kliknięciu pliku pojawia się problem. Kiedy kliknę prawym przyciskiem myszy, wybierz OpenWith i wybierz Access, problem nie występuje.
  • Ten problem nie występuje w programie Excel

0

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 ...


0

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).

wprowadź opis zdjęcia tutaj


0

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ć.


jaki jest stosunek mysql do tej aplikacji word / excel? Nie rozumiem o co ci chodzi ... przepraszam.
gumuruh
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.