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.
- 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. - Selecione Criar>Estrutura de Consulta.
- Se necessário, feche a caixa de diálogo Adicionar Tabelas (Mostrar Tabela no Access.
- Selecione Design>Pass-through.
O Access oculta a grelha de estrutura da consulta e apresenta a Vista SQL. - Se a folha de propriedades da consulta não for apresentada, prima F4 para a apresentar.
- Na folha de propriedades, clique na caixa de propriedades ODBC Connect Str e siga um destes procedimentos:
Para obter um cadeia de ligação:
- 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.
- Na caixa de diálogo Gestor de Tabelas Ligadas , selecione a caixa de verificação da origem de dados e, em seguida, selecione Editar.
- Na caixa de diálogo Editar Ligação , copie o texto da caixa Cadeia de ligação .
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.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.
Quando terminar de introduzir a consulta, selecione Estruturar>Executar. A sua consulta é enviada para o servidor de base de dados para ser processada.
