ACC2002: O Assistente de conversão não converter aninhado consultas se consultas base estão actualizado como funções

Traduções de Artigos Traduções de Artigos
Artigo: 295235 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Moderado: Requer básica macros, codificação e interoperabilidade competências.

Este artigo aplica-se a uma base de dados do Microsoft Access (.mdb) e a um projecto do Microsoft Access (.adp).

Expandir tudo | Reduzir tudo

Nesta página

Sintomas

O Assistente de conversão do Microsoft Access não converte uma consulta aninhada se ambas as condições seguintes forem verdadeiras:
  • A consulta inclui uma consulta de nível inferior que inclua uma cláusula ORDER BY na respectiva instrução de SQL.

    - e -

  • A consulta de nível inferior está envolvida em mais do que uma associação.

Causa

O Assistente de conversão converte consultas com cláusulas ORDER BY funções. Por conseguinte, a consulta de nível inferior é convertida para uma função. Quando uma função está envolvida em mais do que uma associação numa consulta, o Assistente de conversão não converte a consulta.

Resolução

Para contornar este problema, utilize um dos seguintes métodos.

Método 1

Copie e cole a instrução de SQL da consulta aninhada na base de dados Microsoft Access a uma consulta nova no projecto do Microsoft Access convertida. Para o fazer, siga estes passos:
  1. Abra a base de dados que contém a consulta aninhada.
  2. Abra a consulta aninhada na vista de estrutura.
  3. No menu Ver , clique em Vista de SQL .
  4. Seleccione a instrução SQL completa para que pode copiá-lo.
  5. No menu Editar , clique em Copiar .
  6. Feche a consulta. Não guarde as alterações.
  7. Abra o projecto de Microsoft Access convertida.
  8. Na janela Base de dados, clique em consultas em objectos e, em seguida, faça duplo clique Criar vista no Estruturador .
  9. Na caixa de diálogo Mostrar tabela , clique em Fechar .
  10. Na barra de ferramentas Vista de estrutura , clique em SQL para abrir a janela SQL na parte inferior do ecrã.
  11. Na janela SQL, seleccione o texto "SELECT FROM", de modo a que pode colar sobre o texto.
  12. No menu Editar , clique em Colar . Se necessário, edite a consulta para que obedece à sintaxe T-SQL adequado.
  13. Guardar a vista e atribua-lhe o mesmo nome como o nome de consulta no ficheiro de base de dados (.mdb) do Access.
  14. Execute a consulta.
  15. Regresse à vista de estrutura.
  16. Na coluna Tipo de ordenação , seleccione a sequência de ordenação para o campo que pretende ordenar.
  17. Volte a executar a consulta.
  18. Feche e guarde a consulta.

Método 2

Antes de converter a base de dados, abrir o nível inferior consulta na vista de estrutura, remover a sequência de ordenação e, em seguida, reintroduza a sequência de ordenação na consulta convertida.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no início deste artigo.

Mais Informação

Passos para reproduzir o comportamento

atenção : Se seguir os passos neste exemplo, modificará a base de dados de exemplo Adamastor.mdb. Convém cópia de segurança do ficheiro de base de dados Adamastor.mdb e siga estes passos numa cópia da base de dados.

  1. Abra a base de dados exemplo Adamastor.mdb.
  2. Crie uma nova consulta na vista de estrutura.
  3. Na caixa de diálogo Mostrar tabela , clique em Fechar .
  4. No menu Ver , clique em Vista de SQL .
  5. Escreva ou cole o seguinte texto na janela de SQL:
       SELECT Employees.LastName, 
            Orders.OrderDate, 
            Orders.ShipCountry, 
            [Order Details Extended].ExtendedPrice, 
            Products.ProductName, 
            Categories.CategoryName
       FROM Employees  
         INNER JOIN (Categories 
            INNER JOIN ((Orders 
               INNER JOIN [Order Details Extended] 
         ON Orders.OrderID = [Order Details Extended].OrderID) 
            INNER JOIN Products 
              ON [Order Details Extended].ProductID = Products.ProductID) 
                ON Categories.CategoryID = Products.CategoryID) 
                  ON Employees.EmployeeID = Orders.EmployeeID;
    					
  6. Guarde a consulta como qryNested e, em seguida, fechá-lo.
  7. Converter a base de dados.
  8. Depois de concluído o Assistente de conversão, tenha em atenção que a consulta qryNested não foi convertida no novo projecto do Microsoft Access.

Propriedades

Artigo: 295235 - Última revisão: 9 de fevereiro de 2014 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft Access 2002 Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbbug KB295235 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 295235

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com