Por que o Access relata que não pode receber um comando para seu programa?


9

Acabei de atualizar para o Windows 7 e, depois de reinstalar o MS Office, tenho um erro interessante. Quando clico em um banco de dados, recebo uma mensagem pop-up "Ocorreu um problema ao enviar o comando para o programa", mas o aplicativo de arquivo ainda será iniciado e o banco de dados apropriado será aberto.

Alguém já viu algo assim?

Como eu iria investigar e corrigir esse problema?

Nota: Não estou usando o Zone-Alarm. A maioria das pesquisas on-line sobre esse problema retorna vários sites e artigos do MSKB que discutem problemas usando o Zone-Alarm

RESOLVIDO: Graças a Mihi --- Depois de renomear a chave do Registro de ddexec para NOddeexec, o problema desapareceu - ainda não sei por que o DDE está quebrado, mas funciona bem o suficiente para mim agora


Você está clicando no arquivo do banco de dados em si ou em um atalho para ele?
JohnFx

Estou clicando no arquivo do banco de dados.
Noé

Você está usando outro firewall?
harrymc 20/09/09

Somente o Win-7 padrão incluía firewall. Além disso, o arquivo está no meu disco local em um sub-diretório de MyDocuments
Noah

Você está logado como administrador? Você já tentou desativar o UAC completamente?
harrymc 20/09/09

Respostas:


2

Teve esse problema, mas apenas com produtos de escritório específicos (por exemplo, o Excel e o Word funcionariam, mas o Access falharia com a mensagem).

Aqui está como eu corrigi o problema no Windows 7 - 64 bits (possivelmente também funcionaria para o Vista).

NOTA: Esta solução envolve editar o registro do sistema. Tenha cuidado, pois a edição incorreta do registro pode corromper o seu sistema operacional!

Usando o Editor do Registro fornecido com o Windows 7 (Regedit)

  • Verifique a chave de extensão no registro para a associação atual
  • HKEY_CLASSES_ROOT\.mdb (Eu estava lidando com o Office 2007, mas localize a entrada de extensão de arquivo que você está interessado) .
  • Verifique a (Default)entrada do valor e encontre a chave na qual HKEY_CLASSES_ROOTela se refere (no meu caso, isso é Access.MDBFile) .
  • Localize a subchave shelle exclua-a (veja o aviso acima)
  • Volte para e localize um arquivo que deseja abrir. Agora, você será solicitado a escolher um programa para abri-lo. Neste ponto, localize o programa do escritório que você deseja usar para abrir o arquivo e pronto.

Verificando minhas configurações depois de fazer isso, percebi que a Access.MDBFilechave no registro havia mudado, agora ela tinha uma CLSIDchave que apontava para a nova casa da associação de arquivos.

  • A subchave CLSID (no meu caso HKEY_CLASSES_ROOT\Access.MDBFile\CLSID, o (Default)valor era {73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}) .
  • O achado usado para pesquisar CLSID (excluindo colchetes) , lembre-se de verificar em Look at-> Keysantes de realizar a pesquisa (no meu caso, a chave encontrada, HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}mas isso pode ser diferente, meu exemplo é para o sistema de 64 bits que lida com uma versão de 32 bits do Office 2007) .
  • Esta referência é ao "Aplicativo Microsoft Office Access" que usa um servidor em processo para iniciar o aplicativo, usando este método corrigido minhas associações de arquivos do Access.

6

Basicamente, esse erro aparece se um tipo de arquivo estiver configurado para usar o DDE (um antigo protocolo de comunicação no estilo Windows-3.x entre aplicativos em execução no mesmo computador) para abrir um arquivo.

Você o encontrará nos tipos de arquivo nas opções de pasta do explorer (talvez em outro lugar no Windows 7, mas haverá um local em que um administrador poderá configurar quais arquivos abrir com quais programas).

Quando essa opção "Usar DDE" está marcada, o Windows primeiro verifica se o programa já está em execução e, em caso afirmativo, envia uma mensagem DDE (composta por 3 textos, "Aplicativo", "Tópico" e "Mensagem" ) Dessa forma, ele pode evitar a abertura do programa novamente, mesmo se ele já estiver em execução. Quando o programa não está sendo executado, ele é iniciado normalmente. Caso a conexão DDE falhe, a caixa de diálogo mencionada será exibida e apenas reiniciará o programa normalmente.

Portanto, a correção mais fácil é desabilitar "Use DDE" para a extensão de arquivo do seu banco de dados (eu acho .mdb). A única desvantagem disso: quando você abre um banco de dados e o Access já está em execução, o Windows abre uma segunda instância do Access, que por sua vez notará a primeira e enviará a mensagem DDE e sairá depois disso. I. e. você está desnecessariamente iniciando o Access para que possa fechar novamente de uma vez. Mas hoje em dia, com CPUs e discos rígidos rápidos, acho que isso é aceitável :-)

A correção mais complexa seria verificar se algo está errado nessas configurações (como tópico ou aplicativo errado) e corrigi-lo. Isso exigiria que você tivesse acesso a outra máquina (talvez virtual) em que os arquivos de abertura funcionem para que você possa comparar a configuração do DDE.

EDIT: De acordo com este site , essa guia foi descartada no Vista. Você sempre pode fazer isso manualmente no registro: Procure HKEY_CLASSES_ROOT\.mdbseu valor padrão (diga que é mdbfile) e, em seguida, verifique esse valor padrão ( HKEY_CLASSES_ROOT\mdbfile\shell\open\ddeexec).


Eu tenho acesso a outra máquina funcionando. Onde eu procuraria comparar a configuração do DDE?
Noé

@Noah: No Windows Explorer, vá em Ferramentas -> Opções de Pasta. Clique na guia Tipos de arquivo. Encontre o tipo de arquivo mdb. Selecione Avançado. Clique na ação "Abrir" e selecione "Editar ...". Lembre-se de que, se você estiver comparando isso a outra estação de trabalho, a outra estação de trabalho pode estar usando o DDE, mas como sua estação de trabalho não está, tente desmarcá-la e ver se funciona (possivelmente após uma reinicialização).
Andy Andy

O Windows 7 não possui uma guia "Opções de pasta"
Noah

De acordo com mydigitallife.info/2008/06/20/… , essa guia foi descartada no Vista. Você sempre pode fazer isso manualmente no registro: Procure HKEY_CLASSES_ROOT \ .mdb pelo seu valor padrão (diga que é mdbfile) e, em seguida, observe esse valor padrão (HKEY_CLASSES_ROOT \ mdbfile \ shell \ open \ ddeexec) ...
mihi

Você pode adicionar este último comentário à sua resposta.
Noé

2

Aqui está a solução que encontrei para o Access 2002. Será semelhante para outras versões do Access.

  1. Acesso livre
  2. Clique em Ferramentas
  3. Clique em Opções
  4. Clique na guia Avançado
  5. Desmarque a caixa ao lado de "Ignorar solicitações DDE"
  6. Fechar acesso

Funcionou para mim! Não é mais "Ocorreu um problema ao enviar o comando para o programa." erro.

Para as diferentes versões do Access, a opção "Ignorar solicitações DDE" pode ser declarada de maneira um pouco diferente, mas você deve encontrar algo que possa ser comparado.

Espero que isso ajude outros que têm o mesmo problema.


1

Na pasta do escritório instalada. clique com o botão direito do mouse em excel / winword .exe e selecione Propriedades. Selecione a guia compatibilidade e verifique se "executar este programa no modo de compatibilidade para" está desmarcado.



1

Aqui está a correção para o Access 2007:

  • Clique no Office "Moeda" no canto superior esquerdo do Access.
  • Selecione "Opções de acesso"
  • Selecione a opção "Avançado"
  • Role até o botão e desmarque a opção "Ignorar solicitações DDE"

Deve abrir bem sem ter que mexer com o registro.


0

Alguém já viu algo assim?

provavelmente, já que o erro está documentado neste artigo do MSKB . também foi mencionado em conexão com o ZoneAlarm.


Eu li esses artigos do MSKB, mas não uso o ZoneAlarm. É um upgrade de baunilha Win7
Noah

Eu não tenho uma solução, apenas apontando que este erro é bastante comum. mas as respostas são vagas, na melhor das hipóteses, parece ser um daqueles mistérios do Windows. :)

0

Log de atividades:

Usei o Painel de Controle para alterar a instalação do Office 2007, removendo o Access. Em seguida, usando o Painel de Controle, adicionei o Access de volta. Isso não teve efeito no problema.

Usei o Painel de Controle para reparar a instalação do Office 2007 e, em seguida, reiniciei. Isso não teve efeito no problema.

NOTA:

  • Quando clico duas vezes no arquivo, o problema ocorre. Quando clico com o botão direito, escolha OpenWith e selecione Access, o problema não ocorre.
  • Esse problema não ocorre com o Excel

0

Não tenho certeza, mas será que, ao acessar esta opção, ouvir em DDE-Calls está desativado. Eu vi essa opção no Word e também no Excel, mas não me lembro de acesso. Talvez um problema de segurança para desativar melhor isso ...


0

Não uso o Access, mas recentemente comecei a encontrar o mesmo problema com o Excel e o Word (2007) no Win7 ao abrir documentos da lista "Recente" no meu menu Iniciar (usando a seta no item de menu Atalho do Word). A solução de caixa de seleção DDE não se aplicava a mim, pois já estava desmarcada (e não existe no Word, até onde eu saiba).

Encontrei uma solução que parece ter corrigido o problema para mim: Quando abri a caixa de diálogo Propriedades do atalho do documento (no menu de contexto; veja a captura de tela abaixo), notei que o campo "Abre com" havia sido alterado de alguma forma para outro aplicativo que não seja o Microsoft Word. Clicar no botão "Alterar" permitiu-me associar novamente este arquivo ao "Microsoft Office Word" (sem ter que mexer no registro).

insira a descrição da imagem aqui


0

Se esse erro estiver aparecendo ao usar o Office com Windows 7 com um arquivo do Access ADP, o problema pode estar relacionado a um firewall.

O Windows XP com Access 2007 usa SMB para comunicação com o MSSQL Server. O Windows 7 com Access 2007 usa a porta TCP (porta SQL padrão) 1433 para tentar acessar o MSSQL Server. Se você possui o Firewall do Windows ou um firewall de hardware bloqueando a porta 1433, ele tenta três vezes fazer uma conexão e, quando falha pela terceira vez, alterna para SMB e funciona normalmente.

Abra a porta TCP 1433 no servidor executando o SQL Server.

Não descobri por que o Windows 7 usa a porta TCP 1433 primeiro em vez de SMB como XP, e não descobri como alterá-lo.


qual é a relação do mysql nesse aplicativo word / excel? Eu não entendi o que você quer dizer ... desculpe.
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.