Criar uma consulta pass-through

Aplica-se A
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Pode utilizar o Access como uma aplicação front-end e, em seguida, ligar a tabelas num servidor back-end, como o SQL Server. Por predefinição, a maioria das consultas é executada localmente no motor de base de dados ACE do Access. 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 "JET Database Engine Versão 3.0: conectividade ODBC" em white papers JET e ODBC redescobertos.

No entanto, muitas vezes, você deseja executar explicitamente uma consulta em um servidor de banco de dados. Deve fazê-lo para ajudar a melhorar o desempenho: os servidores de bases de dados têm uma maior capacidade de processamento 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 em um servidor de banco de dados, use uma consulta pass-through que é uma instrução Transact SQL (TSQL) que se conecta a SQL Server usando um cadeia de ligação ODBC. Por exemplo, pode transferir uma instrução SELECT para devolver dados a uma folha de dados, formulário, relatório ou controlo de lista, executar o equivalente a consultas de ação (instruções DML (Data Manipulation Language)), chamar procedimentos armazenados e executar tarefas administrativas (instruções DDL (Data Definition Language)).

Observação Os resultados de uma consulta pass-through são só de leitura. Para editar dados diretamente numa folha de dados ou formulário, crie uma tabela ligada a uma vista indexada. Para obter mais informações, consulte Criar exibições indexadas.

  1. Ligue-se a uma base de dados do servidor.
    Para obter mais informações sobre como vincular a SQL Server, consulte Importar ou vincular a dados em um banco de dados SQL Server e Vincular ou importar dados de um banco de dados do SQL do Azure Server.
  2. Selecione Criar>Estrutura de Consulta.
  3. Se necessário, feche a caixa de diálogo Adicionar Tabelas (Mostrar Tabela no Access.
  4. Selecione Design>Pass-through.
    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 de propriedades ODBC Connect Str e siga um destes procedimentos:

Para obter um 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 da caixa Cadeia de ligação .
  1. Introduza a sua consulta na Vista SQL.
    Observação: Existem diferenças importantes entre o Access SQL e o SQL Server TSQL, especialmente no que respeita à sintaxe, nomes de funções e argumentos de funções. Para obter mais informações, consulte Comparação do SQL do Access com o TSQL do SQL Server.
    Sugestão Crie a consulta TSQL no SQL Server Management Studio primeiro e, em seguida, copie e cole o SQL na Vista SQL. Isto garante que a consulta tem a sintaxe correta. Se não tiver acesso fácil a uma Base de Dados SQL Server, considere instalar Microsoft SQL Server Express edição no seu ambiente de trabalho, que suporta até 10 GB e é uma forma gratuita e mais fácil de executar e verificar a sua migração.

  2. Considere definir propriedades relacionadas adicionais:

    • Devolve registos Algumas instruções SQL devolvem registos, como SELECT, e outras não, como UPDATE. Se a consulta devolver registos, defina esta propriedade para Sim; se a consulta não devolver registos, defina esta propriedade como Não.
      Observação As consultas pass-through podem devolver múltiplos conjuntos de resultados, mas numa variável de folha de dados, formulário, relatório ou conjunto de registos, só é utilizado o primeiro conjunto de resultados. Para recuperar vários 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 (*) porque cada conjunto de resultados pode ter colunas diferentes. Cada conjunto de resultados é guardado numa tabela separada e os números são acrescentados aos nomes das tabelas locais em conformidade. 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.

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

    • Tempo limite do ODBC Especifique o número de segundos a aguardar antes que ocorra um erro de tempo limite quando uma consulta é executada. O valor predefinido é 60 segundos. Podem ocorrer atrasos devido ao tráfego de rede ou à utilização intensa do servidor de bases de dados.

    • Max Records 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.

  3. Quando terminar de introduzir a consulta, selecione Estruturar>Executar. A sua consulta é enviada para o servidor de base de dados para ser processada.

Consulte Também

Referência Transact-SQL

Consultando com Transact-SQL