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

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

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.
pra converter aninhado consultas por ordem ordenar

Propriedades

ID do Artigo: 295235 - Última Revisão: 02/09/2014 13:20:38 - Revisão: 3.0

Microsoft Access 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug KB295235 KbMtpt
Comentários