Criar uma consulta de passagem

Pode utilizar o Access como uma aplicação de front-end e, em seguida, ligar a tabelas num servidor de extremidade posterior, como o SQL Server. Por predefinição, a maioria das consultas são executadas localmente no motor de bases de dados do Access ACE. Em alguns casos, o Access pode executar uma consulta remotamente no SQL Server, consoante a sintaxe SQL e outros fatores. Para obter mais informações, consulte "versão de motor de bases de dados do JET versão 3,0: Conectividade ODBC" em documentos do Jet e do ODBCredescobertos.

No entanto, por vezes, pretende executar explicitamente uma consulta num servidor de base de dados. Pode fazê-lo para ajudar a melhorar o desempenho: os servidores de bases de dados têm uma capacidade de processamento maior do que um computador de secretária e pode devolver um subconjunto de dados mais pequeno através da ligação de rede. Para executar uma consulta num servidor de base de dados, utilize uma consulta pass-through que seja uma instrução Transact SQL (TSQL) que se liga ao SQL Server através de uma cadeia de ligação ODBC. Por exemplo, pode passar uma instrução SELECT para devolver dados a uma folha de dados, formulário, relatório ou controlo de lista, executar o equivalente de consultas de ação (instruções DML), procedimentos armazenados de chamadas e realizar tarefas administrativas (definição de dados Instruções de linguagem (DDL)).

Nota    Os resultados de uma consulta de passagem são só de leitura. Para editar dados diretamente numa folha de dados ou formulário, crie uma tabela ligada para uma vista indexada. Para obter mais informações, consulte o artigo criar vistas indexadas.

  1. Ligar a uma base de dados de servidor.

    Para obter mais informações sobre como ligar ao SQL Server, consulte o artigo importar ou ligar a dados numa base de dados do SQL Server e ligar ou importar dados de uma base de dados do Azure SQL Server.

  2. Selecione Criar > Estrutura da Consulta.

  3. Feche a caixa de diálogo Mostrar Tabela.

  4. Selecione estrutura >de passagem.

    O Access oculta a grelha de estrutura da consulta e apresenta a Vista SQL.

  5. Se a folha de propriedades da consulta não for apresentada, prima F4 para a apresentar.

  6. Na folha de propriedades, clique na caixa da propriedade ODBC Connect Str e, em seguida, efetue um dos seguintes procedimentos:

    Para obter uma cadeia de ligação:

    1. No painel de navegação, clique com o botão direito do rato numa tabela ligada à origem de dados pretendida e selecione Gestor de tabelas ligadas.

    2. Na caixa de diálogo Gestor de tabelas ligadas , selecione a caixa de verificação da origem de dados e, em seguida, selecione Editar.

    3. Na caixa de diálogo Editar ligação , copie o texto na caixa cadeia de ligação .

    1. Selecione compilação Botão do Construtor .

    2. Siga as instruções para criar um ficheiro DSN que contenha as informações da cadeia de ligação. Para obter os passos detalhados, consulte o artigo importar ou ligar a dados numa base de dados do SQL Server e ligar ou importar dados de uma base de dados do Azure SQL Server.

    Depois de criar uma ligação de ficheiro DSN, a cadeia de ligação ODBC é armazenada internamente na sua base de dados do Access. Eis um truque para obter uma cópia dessa cadeia:

    1. Localize o nome de uma tabela ligada no painel de navegação com a ligação ODBC que pretende.

    2. Prima CTRL + G. para abrir a janela Immediate do VBA.

    3. Introduza o seguinte código:

      ?CurrentDb.TableDefs("<table name>").Connect

      Mas substituir por <nome da tabela> o nome da tabela ligada do passo a.

    4. Copie a cadeia devolvida para a propriedade ODBC Connect Str .

  7. Introduza a sua consulta na Vista SQL.

    Nota   Existem diferenças importantes entre o Access SQL e o SQL Server TSQL, principalmente com sintaxe, nomes de funções e argumentos de função. Para obter mais informações, consulte comparar o acesso SQL com o SQL Server TSQL.

    Sugestão    Crie a consulta TSQL no SQL Server Management Studio primeiro e, em seguida, copie e cole o SQL na Vista SQL. Isto assegura que a consulta tem a sintaxe correta. Se não tiver acesso conveniente a uma base de dados do SQL Server, experimente instalar o Microsoft SQL Server Express Edition no seu ambiente de trabalho que suporta até 10 GB e é uma forma gratuita e fácil de executar e verificar a sua migração.

  8. Considere definir propriedades relacionadas adicionais:

    • Devolve registos     Algumas instruções SQL devolvem registos, tal como a seleção, e algumas não, tal como atualizar. Se a consulta devolver registos, defina esta propriedade como Sim; se a consulta não devolver registos, defina esta propriedade como não.

      Nota    As consultas de passagem podem devolver vários conjuntos de resultados, mas numa variável de folha de dados, formulário, relatório ou conjunto de registos, apenas o primeiro conjunto de resultados é utilizado. Para obter múltiplos conjuntos de resultados, utilize uma consulta criar tabela como mostra o seguinte exemplo:

      SELECT <pass-through query name>.*
      INTO <local table name>
      FROM < pass-through query name >

      Tem de utilizar o asterisco (*), uma vez que cada conjunto de resultados pode ter colunas diferentes. Cada conjunto de resultados é guardado numa tabela e os números separados são acrescentados de acordo com os nomes das tabelas locais. Por exemplo, se forem devolvidos três conjuntos de resultados, os nomes das tabelas seriam: <nome da tabela local>, <nome da tabela local>1, <nome da tabela local>2.

    • Mensagens de registo    Especifique se pretende devolver mensagens da base de dados SQL numa tabela de mensagens do Access. O nome da tabela tem o formato, nome de utilizador – nn, em que o nome de utilizador é o nome de início de sessão do utilizador atual e nn é um número que começa em 00.

    • Tempo limite de ODBC    Especifique o número de segundos a aguardar antes de ocorrer um erro de tempo limite quando uma consulta é executada. O valor predefinido é 60 segundos. Pode haver atrasos por causa do tráfego de rede ou da utilização intensa do servidor de bases de dados.

    • Máximo de registos    Especifique o número máximo de registos a devolver. Poderá ter recursos de sistema limitados ou pretender testar os resultados com apenas uma pequena quantidade de dados.

  9. Quando terminar de introduzir a consulta, selecione estrutura > executar. A sua consulta é enviada para o servidor de bases de dados para processamento.

Nota:  Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode indicar-nos se estas informações foram úteis? Eis o artigo em inglês para sua referência.​

Consulte Também

Referência do Transact-SQL

Consultar com o Transact-SQL

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×