Access armazena todas as tabelas de banco de dados, consultas, formulários, relatórios, macros e módulos no Access Jet database como um único arquivo.

para o desenvolvimento de consultas, Access oferece um” designer de Consultas”, uma interface gráfica do usuário que permite aos usuários construir consultas sem o conhecimento de linguagem de consulta estruturada. No Designer de Consultas, os usuários podem “mostrar” as fontes de dados da consulta (que podem ser tabelas ou consultas) e selecionar os campos que eles querem retornados, clicando e arrastando-os para a grade., Um pode configurar joins clicando e arrastando campos em tabelas para campos em outras tabelas. O Access permite aos usuários visualizar e manipular o código SQL, se desejado. Qualquer tabela de acesso, incluindo tabelas vinculadas de diferentes fontes de dados, pode ser usada em uma consulta.

Access também suporta a criação de”consultas de passagem”. Estes trechos de código SQL podem abordar fontes de dados externas através do uso de conexões ODBC na máquina local. Isso permite aos usuários interagir com os dados armazenados fora do programa de acesso sem usar tabelas vinculadas ou Jet.,Os usuários constroem as consultas de passagem usando a sintaxe SQL suportada pela fonte de dados externa.

ao desenvolver relatórios (na “vista de Design”), as adições ou alterações aos controlos fazem com que quaisquer consultas ligadas sejam executadas em segundo plano e o designer é forçado a esperar que os registos sejam devolvidos antes de ser capaz de fazer outra alteração. Este recurso não pode ser desligado.

não-programadores podem usar a funcionalidade de macro para automatizar tarefas simples através de uma série de seleções drop-down., Macros permitem aos usuários executar comandos em cadeia facilmente em conjunto, tais como executar consultas, importar ou exportar dados, Abrir e fechar formulários, antevisão e relatórios de impressão, etc. Macros suportam a lógica básica (IF-conditions) e a capacidade de chamar outras macros. Macros também podem conter sub-macros que são similares às sub-rotinas. No Access 2007, macros aprimorados incluíram tratamento de erros e suporte para variáveis temporárias. Access 2007 também introduziu macros embutidos que são essencialmente propriedades de um evento de um objeto. Isso eliminou a necessidade de armazenar macros como objetos individuais., No entanto, macros foram limitados em sua funcionalidade por falta de loops de programação e lógica de codificação avançada até o Access 2013. Com melhorias significativas introduzidas no Access 2013, as capacidades das macros tornaram-se totalmente comparáveis ao VBA. Eles tornaram os aplicativos baseados na web ricos recursos práticos, através de uma interface e ferramentas Microsoft SharePoint muito melhoradas, bem como em desktops Windows tradicionais.

em comum com outros produtos na suite Microsoft Office, a outra linguagem de programação usada no Access é a Microsoft VBA. É similar ao Visual Basic 6.,0 (VB6) e o código pode ser armazenado em módulos, classes e código por trás de formulários e relatórios. Para criar um produto final mais rico, mais eficiente e sustentável com um bom manuseio de erros, a maioria das aplicações de Acesso profissional são desenvolvidas usando a linguagem de programação VBA ao invés de macros, exceto quando a implantação web é um requisito de Negócio.,

Para manipular dados em tabelas e consultas no VBA ou macros, a Microsoft oferece duas acesso ao banco de dados de bibliotecas de componentes COM:

  1. Data Access Objects (DAO) (32-bits apenas), que está incluído no Access e do Windows e evoluiu para ACE no Microsoft Access 2007 para o ACCDE formato de banco de dados
  2. ActiveX Data Objects ActiveX Data Objects (ADO) (32-bit e 64-bit versões)

assim como o DAO e ADO, os desenvolvedores também podem usar o provedor OLE DB e ODBC para o desenvolvimento de C/C++ nativo programas para Acesso. Para ADPs e a manipulação direta de dados do servidor SQL, ADO é necessária., A DAO é mais apropriada para a gestão de dados em bases de dados Access/Jet, e a única maneira de manipular os tipos de campos complexos nas tabelas ACCDB.

no container da base de dados ou painel de navegação no Access 2007 e versões posteriores, o sistema categoriza automaticamente cada objeto por tipo (por exemplo, tabela, consulta, macro). Muitos desenvolvedores de acesso usam a Convenção de nomenclatura de Leszynski, embora esta não seja universal; é uma convenção de programação, não uma regra imposta pelo DBMS. É particularmente útil em VBA, onde referências a nomes de objetos podem não indicar seu tipo de dados (por exemplo, tbl para tabelas, qry para consultas).,

desenvolvedores utilizam o Microsoft Access mais frequentemente para projetos individuais e de grupo de trabalho (a caracterização de Velocidade do Access 97 foi feita para 32 usuários). Desde o Access 97, e com o Access 2003 e 2007, o Microsoft Access e hardware evoluíram significativamente. Bases de dados com tamanho inferior a 1 GB (que agora podem caber inteiramente na RAM) e 200 usuários simultâneos estão bem dentro das capacidades do Microsoft Access. Naturalmente, o desempenho depende do projeto e tarefas da base de dados. Trabalho intensivo em disco, como a busca complexa e questionamento levar mais tempo.,

Como os dados de uma base de dados Microsoft Access pode ser cache em RAM, a velocidade de processamento pode melhorar substancialmente quando há apenas um único usuário ou se os dados não estão mudando. No passado, o efeito da latência de pacotes no sistema de bloqueio de registros fez com que as bases de dados de acesso funcionassem lentamente em uma rede virtual privada (VPN) ou uma rede de área ampla (WAN) contra uma base de dados Jet. A partir de 2010, as ligações de banda larga atenuaram esta questão., O desempenho também pode ser melhorado se uma conexão contínua é mantida ao banco de dados back-end durante toda a sessão em vez de abri-lo e fechá-lo para cada acesso de tabela. Se o desempenho do Access database sobre VPN ou WAN sofrer, então um cliente usando o Remote Desktop Protocol (tais como Microsoft Terminal Services) pode fornecer uma solução eficaz. Bases de dados de acesso ligadas ao servidor SQL ou para acessar projetos de dados funcionam bem sobre VPNs e WANs.,

Em julho de 2011, a Microsoft reconheceu um problema intermitente de desempenho de consulta com todas as versões do Access e Windows 7 e Windows Server 2008 R2 devido à natureza da Gestão de recursos sendo muito diferente em novos sistemas operacionais. Esta questão afeta severamente o desempenho da consulta No Access 2003 e anteriormente com o código Motor Jet Database, bem como o Access 2007 e mais tarde com o Access Database Engine (ACE). A Microsoft emitiu hotfixes KB2553029 para o Access 2007 e KB2553116 para o Access 2010, mas não vai corrigir o problema com o Jet 4.0 como ele está fora do suporte mainstream.,

em versões anteriores do Microsoft Access, a capacidade de distribuir aplicativos exigia a compra do programador Toolkit; no Access 2007, 2010 e Access 2013 a versão “Runtime Only” é oferecida como um download gratuito, tornando possível a distribuição de aplicativos gratuitos no Windows XP, Vista, 7 e Windows 8.x.

Split database architectureEdit

Microsoft Access applications can adopt a split-database architecture., O único banco de dados pode ser dividido em um arquivo separado “back-end “que contém as tabelas de dados (compartilhadas em um servidor de arquivos) e um” front-end ” (contendo objetos da aplicação, tais como consultas, formulários, relatórios, macros e módulos). O aplicativo de acesso” front-end ” é distribuído para o desktop de cada usuário e ligado ao banco de dados compartilhado. Usando esta abordagem, cada usuário tem uma cópia do Microsoft Access (ou a versão de tempo de execução) instalado em sua máquina junto com seu banco de dados de aplicativos. Isso reduz o tráfego de rede, uma vez que a aplicação não é recuperada para cada uso., A base de dados “front-end” ainda pode conter tabelas locais para armazenar configurações de um usuário ou dados temporários. Este projeto de banco de dados split também permite o desenvolvimento da aplicação independente dos dados. Uma desvantagem é que os usuários podem fazer várias alterações em sua própria cópia local da aplicação e isso torna difícil gerenciar o controle de versão. Quando uma nova versão está pronta, o banco de dados front-end é substituído sem impactar o banco de dados. Microsoft Access tem dois utilitários embutidos, divisor de banco de dados e Gerenciador de tabela vinculado, para facilitar esta arquitetura.,

tabelas ligadas no Access usam caminhos absolutos ao invés de caminhos relativos, de modo que o ambiente de desenvolvimento ou tem que ter o mesmo caminho que o ambiente de produção ou uma rotina de “linker dinâmico” pode ser escrita em VBA.

para bases de dados de acesso muito grandes, isto pode ter problemas de desempenho e uma infra-estrutura SQL deve ser considerada nestas circunstâncias. Isto é menos de um problema se todo o banco de dados pode caber na memória RAM do PC desde o acesso caches dados e índices.,

migração para SQL ServerEdit

artigo principal: aumento (base de dados)

para escalar aplicações de acesso a soluções empresariais ou web, uma possível técnica envolve a migração para o servidor SQL da Microsoft ou para uma base de dados de servidores equivalente. Um projeto cliente-servidor Reduz significativamente a manutenção e aumenta a segurança, disponibilidade, estabilidade e registro de transações.

Access 2000 through Access 2010 included a feature called the Upsizing Wizard that allowed users to upgrade their databases to Microsoft SQL Server, an ODBC client–server database., Esta característica foi removida do Access 2013. Uma solução adicional, o SQL Server Migration Assistant for Access (SSMA), continua disponível para download gratuito da Microsoft.

uma variedade de opções de atualização estão disponíveis. Depois de migrar os dados e consultas para o servidor SQL, o banco de dados Access pode ser ligado ao banco de dados SQL. No entanto, certos tipos de dados são problemáticos, principalmente “sim/não”. No Microsoft Access existem três estados para o tipo de dados Sim/Não (True/False): vazio, não/false (zero) e sim/true (-1)., O tipo de dados correspondente do servidor SQL é binário, com apenas dois estados, valores admissíveis, zero e 1. Independentemente disso, o servidor SQL ainda é a migração mais fácil. Recuperar dados de tabelas ligadas é otimizado para apenas os registros necessários, mas este cenário pode operar de forma menos eficiente do que o que seria de outra forma ideal para o servidor SQL. Por exemplo, em casos em que Multi-tabela se junta ainda requerem copiar a tabela inteira em toda a rede.,

nas versões anteriores do Access, incluindo o Access 2010, as bases de dados também podem ser convertidas para projetos de dados de Access (ADP) que estão ligadas diretamente a uma base de Dados SQL Server. Esta característica foi removida do Access 2013. O suporte do ADP é a capacidade de criar e modificar diretamente objetos do servidor SQL, tais como tabelas, vistas, procedimentos armazenados e restrições do servidor SQL. Os pontos de vista e procedimentos armazenados podem reduzir significativamente o tráfego de rede para junções multi-tabela. O SQL Server suporta tabelas temporárias e links para outras fontes de dados além do banco de dados SQL Server.,finalmente, algumas bases de dados de acesso são completamente substituídas por outra tecnologia, tais como ASP.NET ou Java uma vez que os dados são convertidos. No entanto, qualquer migração pode ditar um grande esforço, uma vez que a linguagem SQL de acesso é um superconjunto mais poderoso do SQL padrão. Além disso, os procedimentos de pedido de Acesso, quer VBA quer macros, são escritos a um nível relativamente mais elevado do que as alternativas actualmente disponíveis, que são robustas e abrangentes., Note que a linguagem de macro Access, permitindo um nível ainda maior de abstração do que a VBA, foi significativamente melhorada no Access 2010 e novamente no Access 2013.

em muitos casos, os programadores constroem interfaces directas entre web e dados usando ASP.NET, mantendo os principais processos de automação de negócios, funções administrativas e de relatórios que não precisam ser distribuídos a todos no Acesso para que os trabalhadores da informação para manter.

enquanto todos os dados de acesso podem migrar diretamente para o servidor SQL, algumas pesquisas não podem migrar com sucesso., Em algumas situações, você pode precisar traduzir funções VBA e funções definidas pelo usuário em funções / procedimentos T–SQL ou.NET. As consultas Crosstab podem ser migradas para o servidor SQL usando o comando PIVOT.