Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Pode utilizar o Access como uma aplicação de front-end e, em seguida, ligar a tabelas num servidor de 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, veja "JET Database Engine Version 3.0: ODBC Connectivity" em White papers ODBC e JET Redescobertos.

No entanto, muitas vezes, quer executar explicitamente uma consulta num servidor de bases de dados. Pode fazê-lo para ajudar a melhorar o desempenho: os servidores de bases de dados têm maior poder 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 num servidor de base de dados, utilize um consulta pass-through que seja uma instrução Transact SQL (TSQL) que se liga ao SQL Server com uma cadeia de ligação ODBC. Por exemplo, pode transmitir 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 realizar tarefas administrativas (DDL (Data Definition Language).

Nota    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 para uma vista indexada. Para obter mais informações, veja Criar Vistas Indexadas.

  1. Ligar a uma base de dados de servidor.

    Para obter mais informações sobre a ligação ao SQL Server, veja Importar ou ligar a dados numa base de dados do SQL Server e Ligar ou importar dados a partir de uma Base de Dados do SQL Server do Azure.

  2. Selecione Criar > Estrutura da Consulta.

  3. Se necessário, feche a caixa de diálogo Adicionar Tabelas (Mostrar Tabela no Access).

  4. Selecione Estrutura >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 propriedadeSODBC 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 Criar Botão do Construtor.

    2. Siga as instruções para criar um ficheiro DSN que contém as informações da cadeia de ligação. Para obter passos detalhados, veja Importar ou ligar a dados numa base de dados do SQL Server e Ligar ou importar dados a partir de uma Base de Dados do SQL Server do Azure.

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

    1. Localize um nome de tabela ligado no Painel de Navegação com a ligação ODBC pretendida.

    2. Prima Ctrl+G. para abrir a janela VBA Imediato.

    3. Introduza: o seguinte código:

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

      No entanto, substitua <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 consulta na Vista SQL.

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

    Sugestão    Crie primeiro a consulta TSQL no SQL Server Management Studio 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 conveniente a uma Base de Dados do SQL Server, considere instalar a edição Microsoft SQL Server Express 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, como SELECT, e outras não, como UPDATE. 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 pass-through podem devolver vários conjuntos de resultados, mas numa folha de dados, formulário, relatório ou variável de conjunto de registos, só é utilizado o primeiro conjunto de resultados. Para obter 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 anexados 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.

    • 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 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 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. Podem ocorrer atrasos devido ao tráfego de rede ou à utilização intensiva do servidor de bases de dados.

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

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

Consulte Também

Referência transact-SQL

Consultar com Transact-SQL

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.