segunda-feira, 7 de dezembro de 2015

Você recebe a mensagem "Abrir isto executará o seguinte comando SQL"

Quando você abre o documento principal de uma mala direta do Word, que está vinculado à uma fonta de dados voce recebe a mensagem

"Abrir isto executará o seguinte comando SQL" 

Sintomas
Quando você abre um documento principal de mala direta no Microsoft Office Word, você pode enfrentar um dos seguintes sintomas:
  • Você recebe o seguinte prompt:
    Abrir este documento executará o seguinte comando SQL:
    SELECT * FROM your datasource
    Os dados do seu banco de dados serão colocados no documento. Você deseja continuar?
    Observação Se clicar em Sim, o documento principal da mala direta abrirá com a fonte de dados anexada. Se clicar em Não, o documento principal da mala direta abrirá sem a fonte de dados anexada.

    No Microsoft Office Word 2007, execute a seguinte ação enquanto o prompt for exibido:
    • Para determinar o número único associado com a mensagem que você recebe, pressione CTRL + SHIFT + I. O seguinte número aparece no canto inferior direito desta mensagem:
      201235
  • Um documento principal de mala direta aberto usando o Microsoft Visual Basic for Applications (VBA) não tem uma fonte de dados anexada.
Observação Talvez você estivesse usando um programa, por exemplo o Microsoft Access ou o Microsoft Visual FoxPro, para abrir programaticamente um arquivo de documento principal de mala direta quando os sintomas descritos nesse artigo ocorreram.
Causa
A solicitação descrita na seção "Sintomas" é própria do projeto.

Este prompt existe em todas as versões posteriores do Microsoft Office e foi introduzido no Office XP Service Pack 3. Este prompt foi adicionado nos produtos listados na seção "Aplicável a" para tornar a mala direta mais segura. Ao clicar em Sim quando receber o prompt, você deixa o código executar no seu computador. Um usuário mal-intencionado pode criar uma consulta SQL desenvolvida para roubar ou destruir dados dos quais você possui acesso. Se clicar em Não ao receber a solicitação, você não permitirá a execução do código.

Observação Definindo DisplayAlerts=none por meio do VBA suprime a solicitação quando o arquivo é aberto usando o VBA, mas usa a opçãoNO para abrir o documento e nenhum dado está anexado ao documento principal de mala direta.
Como Contornar
Aviso Essa solução alternativa pode tornar o computador ou a rede mais vulnerável aos ataques de usuários ou softwares mal-intencionados, como os vírus. Essa solução alternativa não é recomendável, mas fornecemos essa informação para que você possa implementar a solução mencionada conforme desejar. O uso dessa solução alternativa é de sua responsabilidade.

Importante Esta seção, método ou tarefa contém etapas que descrevem como modificar o Registro. No entanto, sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Portanto, certifique-se de seguir essas etapas cuidadosamente. Para obter mais proteção, faça um backup do Registro antes de modificá-lo. Dessa forma, você poderá restaurar o Registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o Registro, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
322756 Como fazer backup e restaurar o Registro no Windows


Se você ler e entender os avisos de isenção fornecidos nesse artigo e se os documentos que forem abertos usando a mala direta forem de uma fonte confiável, é aconselhável contornar o comportamento descrito na seção “Sintomas”.

Para contornar esse comportamento, desative a solicitação de segurança usando a chave do Registro
SQLSecurityCheck
.

Para desativar o prompt de segurança usando a
SQLSecurityCheck
chave de Registro, siga as etapas apropriadas para sua versão do Microsoft Word.

 Word 2010 e 2013

HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Options  


"SQLSecurityCheck"=dword:00000000
  1. Inicie o Editor do Registro.
  2. Localize e clique na seguinte chave do Registro:
    Para 2010 - HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Options        Para 2013 - HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Word\Options
  1. No menu Editar, aponte para Novo e clique em Valor DWORD.
  2. Em Nome, digite:
    SQLSecurityCheck
  3. Clique duas vezes em SQLSecurityCheck.
  4. Na caixa Dados do valor, digite:
    00000000
  5. Clique em OK.

Word 2007

HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options


"SQLSecurityCheck"=dword:00000000
  1. Inicie o Editor do Registro.
  2. Localize e clique na seguinte chave do Registro:
    HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options
  3. No menu Editar, aponte para Novo e clique em Valor DWORD.
  4. Em Nome, digite:
    SQLSecurityCheck
  5. Clique duas vezes em SQLSecurityCheck.
  6. Na caixa Dados do valor, digite:
    00000000
  7. Clique em OK.

Word 2003

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\Options


"SQLSecurityCheck"=dword:00000000
  1. Inicie o Editor do Registro.
  2. Localize e clique na seguinte chave do Registro:

    HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\Options
  3. Clique em Editar, aponte para Novo e clique em Valor DWORD.
  4. Em Nome, digite:
    SQLSecurityCheck
  5. Clique duas vezes em SQLSecurityCheck.
  6. Na caixa Dados do valor, digite:
    00000000
  7. Clique em OK.

Word 2002 Service Pack 3

HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Word\Options


"SQLSecurityCheck"=dword:00000000

Para fazer isto, siga as seguintes etapas:
  1. Inicie o Editor do Registro.
  2. Localize e clique na seguinte chave do Registro:

    HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Word\Options
  3. Clique em Editar, aponte para Novo e clique em Valor DWORD.
  4. Em Nome, digite:
    SQLSecurityCheck
  5. Clique duas vezes em SQLSecurityCheck.
  6. Na caixa Dados do valor, digite:
    00000000
  7. Clique em OK.
Situação
Esse comportamento é por design.