Entrar com a conta da Microsoft
Entre ou crie uma conta.
Olá,
Selecione uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Este artigo se aplica a um banco de dados do Microsoft Access (.mdb).

Moderado: Requer habilidades básicas de macro, codificação e interoperabilidade.

Sintomas

Ao exportar uma consulta do Access para um documento XML e essa consulta contiver nos critérios um caractere curinga do Microsoft Jet, como um asterisco (*), os dados não são exportados para o documento XML. Por isso, o documento XML resultante não contém nenhum dado.

A consulta funciona corretamente se você executar a mesma consulta usando o Access.

Causa

Esse comportamento ocorre quando você exporta para o XML. O XML usa o ADO (ActiveX Data Objects) para consultar dados em um banco de dados. Ao usar um caractere curinga específico do Jet na consulta do Access, a consulta retornará sem registros. Esse problema ocorre porque o ADO reconhece apenas caracteres curingas do ANSI 92 (American National Standards Institute).

Como Contornar

Como solução alternativa para esse problema, use um dos seguintes métodos.

Método 1

É possível regravar a consulta para substituir o caractere curinga específico do Jet com o caractere curinga do ANSI 92. Por exemplo, a consulta original pode ser parecida com a consulta a seguir, que usa o caractere curinga asterisco (*):

SELECT Customers.CustomerID
FROM Customers
WHERE (((Customers.CustomerID) Like "A*"));

É possível regravar a consulta conforme a seguir:

SELECT Customers.CustomerID
FROM Customers
WHERE (((Customers.CustomerID) Like "A%"));

Observação Se o banco de dados do Access não estiver configurado para ter compatibilidade com o ANSI 92, quando você executar a consulta regravada pelo Access, os dados não serão retornados. Porém, o documento XML exportado que tem base na consulta regravada retornará os resultados esperados.

Método 2

Você pode regravar a consulta para que o critério da consulta não contenha caracteres curinga. Por exemplo, a consulta original pode ser parecida com a consulta a seguir, que usa o caractere curinga asterisco (*):

SELECT Customers.CustomerID
FROM Customers
WHERE (((Customers.CustomerID) Like "A*"));

É possível regravar a consulta conforme a seguir:

SELECT Customers.CustomerID
FROM Customers
WHERE Left(CustomerID,1) = "A";

Método 3

Ao exportar dados para um documento XML, você pode especificar se irá aplicar um filtro existente no objeto. Em vez de especificar um caractere curinga nos critérios da consulta, é possível criar um filtro com a cadeia de filtros equivalentes aos critérios que você deseja (por exemplo, "A*") e, em seguida, aplicar esse filtro durante o processo Exportar XML.

Para fazer isto, execute as seguintes etapas dependendo da versão do Access.

Access 2003

  1. Abra o banco de dados de exemplo Northwind.

  2. No menu Inserir, clique em
    Consulta.

  3. Na caixa de diálogo Nova consultaselecione Modo de Design e clique em
    OK.

  4. No menu Exibir clique em Modo SQL.

  5. Na janela Consulta cole a seguinte consulta:

    SELECT Customers.CustomerID
    FROM Customers;

    Observação É possível verificar o critério da consulta que foi removido. Dessa forma, a consulta não irá conter nenhum caractere curinga.

  6. No menu Arquivo, clique em
    Salvar.

  7. Na caixa Nome da consulta da caixa de diálogo Salvar como digite Consulta1 e clique em OK.

  8. No menu Exibir, clique em Modo folha de dados.

  9. No menu Registros aponte para
    Filtrar e clique em Filtrar/classificar avançado....

  10. Na lista Campo selecione
    Código_do_Cliente.

  11. Na caixa Critérios em
    Código_do_Cliente, cole o seguinte código:

    Like "A*"
  12. No menu Filtro clique em Aplicar filtro/classificar.

  13. No menu Arquivo, clique em
    Salvar.

  14. No menu Arquivo, clique em
    Fechar.

  15. Na janela Banco de dados clique em
    Consultas.

  16. Com o botão direito do mouse clique em
    Consulta1 e em Exportar.

  17. Na caixa de diálogo Exportar consulta 'Consulta1' para selecione XML na lista Salvar como tipo e clique em Exportar.

  18. Na caixa de diálogo Exportar XML clique em
    Mais opções.

  19. Na caixa de diálogo Exportar XML selecione a guia Dados. Em Registros para exportação:selecione a caixa de diálogo Aplicar filtro existente e, em seguida, clique em OK.

Access 2007

  1. Abra o banco de dados de exemplo Northwind.

  2. Na guia Criar clique em Design da Consulta e em Fechar.

  3. Na guia Design clique em Modo SQL no grupo Resultados.

  4. Na janela Consulta, cole a seguinte consulta:

    SELECT Customers.[First Name]
    FROM Customers;

    Observação É possível verificar se o critério da consulta foi removido. Dessa forma, a consulta não irá conter nenhum caractere curinga.

  5. Clique no Botão do Microsoft Office e clique em Salvar.

  6. Na caixa Nome da consulta da caixa de diálogo Salvar como digite Consulta1 e clique em OK.

  7. Na guia Início no grupo Modos de exibição clique em Exibir e em Modo de exibição folha de dados.

  8. Na guia Início clique em
    Avançado no grupo Classificar & Filtrar e clique em Filtrar/classificar avançado.

  9. Na lista Campo selecione
    Nome

  10. Na caixa Critérios em
    Nome, cole o seguinte código:

    Like "A*"
  11. Na guia Início clique em
    Avançado no grupo Classificar & Filtrar e clique em Aplicar filtro/classificar.

  12. Clique no Botão do Microsoft Office e clique em Salvar.

  13. Com o botão direito do mouse, clique em
    Consulta1, aponte para Exportar, clique em
    Arquivo XML e clique em OK.

  14. Na caixa de diálogo Exportar - arquivo XMLclique em Mais opções.

  15. Na caixa de diálogo Exportar - arquivo XMLclique na guia Dados.

  16. Em Registros para exportação selecione a opção Aplicar filtro existente e clique em
    OK.

  17. Na caixa de diálogo Exportar - Arquivo XMLclique em Fechar.

Situação

A Microsoft confirmou que esse é um bug nos produtos Microsoft que estão listados no início deste artigo.

Mais Informações

Etapas para reproduzir o problema no Access 2003

  1. Abra o banco de dados de exemplo Northwind.

  2. No menu Inserir, clique em
    Consulta.

  3. Na caixa de diálogo Nova consultaselecione Modo de Design e clique em
    OK.

  4. No menu Exibir clique em Modo SQL.

  5. Na janela Consulta cole a seguinte consulta:

    SELECT Customers.CustomerID
    FROM Customers
    WHERE (((Customers.CustomerID) Like "A*"));
  6. Clique em Salvar no menu
    Arquivo.

  7. Na caixa Nome da consulta que está na caixa de dialogo Salvar como digite
    Consulta1.

  8. No menu Arquivo, clique em
    Fechar.

  9. Clique com o botão direito do mouse em Consulta1 e em Exportar.

  10. Na caixa de diálogo Exportar consulta 'Consulta1' para selecione XML na lista Salvar como tipo e clique em Exportar.

  11. Na caixa de diálogo Exportar XML clique em
    OK para salvar os arquivos XML relacionados no local padrão.

  12. No Microsoft Internet Explorer, abra o arquivo XML exportado.

    É possível consultar qual arquivo XML exportado tem base na consulta específica que não contém nenhum registro.

Referências

Para obter mais informações sobre a sintaxe ANSI 92, digite
modo de consulta ANSI SQL no Assistente do Office e clique em Pesquisar.

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?

Obrigado pelos seus comentários!

×