# Microsoft Access

Microsoft Access (nome completo Microsoft Office Access), conhecido por MSAccess, é um sistema de gerenciamento de banco de dados da Microsoft, incluído no pacote do Microsoft Office Professional, que combina o Microsoft Jet Database Engine com uma interface gráfica do utilizador (graphical user interface). Ele permite o desenvolvimento rápido de RAD (Rapid Application Development), que envolvem tanto de dados como também a interface a ser utilizada pelos usuários. Microsoft Access é capaz de usar dados guardados em qualquer recipiente de dados compatível com ODBC.
Primeiramente foi o nome de um programa de comunicação da Microsoft, destinado à competir com ProComm e outros programas. Esse produto fracassou e foi abandonado. No segundo semestre de 1992 a Microsoft lançou seu primeiro Sistema de Gerenciamento de Banco de Dados e reusou o nome: o Microsoft Access (MS Access).
Para a Microsoft havia uma grande vantagem quanto ao mercado, como era a dominadora do seu próprio mercado, foi a primeira a lançar um software executável em plataforma Windows, enquanto que os outros programas deste segmento, liderados pela dBase, eram voltados para o ambiente DOS. Ao ser lançado por um preço bastante atrativo o MS Access 1.0 para Windows foi logo tomando conta do seu espaço. Um dos fatores que muito contribuíram para isto foi o seu preço de apenas noventa e nove dólares e também contamos com os investimentos que os administradores da Microsoft fizeram como a compra da Fox Software por cento e setenta milhões de dólares.
Embora as vantagens de lançamentos, faltava de um pacote de ferramenta para desenvolvedores, o que foi princípio para muitas reclamações, assim como a limitação do software de 128MB de memória. Já em 1993 é lançado no mercado MS Access 1.1 com a ampliação para 1GB de memória e junto a ele veio Distribution Kit e os incentivos da para que os desenvolvedores criassem seus aplicativos e os vendessem sem a necessidade do cliente ter uma versão do Access em seu computador, bastava apenas utilizar o Access Runtime.
No entanto o programa ainda precisava de reajustes e dois anos depois modificações apareceram com a versão 2.0. Agora era possível trabalhar com 254 tabelas ao mesmo tempo e no mesmo arquivo de dados. O novo ambiente de programação dava facilidades ao desenvolvedor e agora também não era mais necessário digitar imensas linhas de códigos. Neste mesmo ano chega ao Brasil a versão em português do Access.
A nova versão do MS Access, em 1995, pulou para 7.0 acompanhando o pacote de programas Microsoft Office 7.0. Introduzida na era de 32 bits a nova versão do Access vinha acompanhada com a linguagem Visual Basic for Applications (VBA), com o seu próprio ambiente de programação. Além do recurso de replicar banco de dados, dando a possibilidade de trabalhar off-line em cópias de banco de dados, podendo ser sincronizada com a base central.
Em março de 1997 foi lançada a versão 8.0, preparada para internet, capaz de gravar hiperlinks e salvar arquivos em formato HTML. E em 1999 lança a versão 9.0, também conhecido como MS Access 2000, com suporte a OLE DB e um produto independente até hoje. Com isso, em 2002, a nova versão com suporte a uma linguagem mais comum, o XML (Extensible Markup Language), que é uma linguagem de marcação de dados e também dá uma maior integralidade com o browser, podendo criar páginas em formato HTML de acesso as dados do banco.
O Access 2003 na sua versão 11 traz maior integração com browser, além da linguagem VBA, marcação em XML e incorporação da linguagem SQL nas consultas de tabelas do banco.
A partir da versão 2007, a extensão padrão dos arquivos do Access é .ACCDB. Arquivos .MDB criados em versões anteriores a 2003 passaram a ser incompatíveis. Para permitir a edição desses arquivos, é necessário a utilização de ferramentas de terceiros, como o MDB Admin, MDB Viewer, entre outros.

## Usos

Geralmente uma aplicação desenvolvida com o Access através da linguagem de programação VBA (Visual Basic for Applications) consiste em dois arquivos: Um que se denomina BackEnd, onde ficam armazenadas todas as tabelas com seus respectivos relacionamentos, e outro denominado FrontEnd, onde ficam armazenados os códigos fontes, formulários, módulos, consultas, macros, etc.
O código fonte pode ser compilado, mas não é possível gerar um executável. Para rodar os aplicativos desenvolvidos é necessário que o usuário possua em sua estação de trabalho o MSAccess instalado ou pelo menos o seu Access Runtime que vem a ser uma versão semi completa do MSAccess que servirá apenas para rodar os aplicativos sem a possibilidade de desenvolvimento e poderá usar aplicativos criado em Access.
Com o Microsoft Access é possível desenvolver desde aplicações simples como por exemplo, um cadastro de clientes, controle de pedidos, até as aplicações mais complexas, como por exemplo, todo o controle operacional, administrativo e financeiro de uma pequena ou até mesmo de uma média ou grande empresa, pois os aplicativos desenvolvidos podem rodar perfeitamente numa rede de computadores e os dados armazenados pelo sistema podem ser publicados na Intranet ou até mesmo na Internet.

## Características

Um dos benefícios do Access do ponto de vista do programador é sua relativa compatibilidade com o PHP – buscas podem ser visualizadas e editadas como sendo indicações de SQL, e estes por sua parte podem ser usados diretamente em Macros e Módulos VBA para manipular tabelas do próprio Access. Usuários podem misturar e usar ao mesmo tempo VBA e Macros para formulários de programação e lógica, além de serem oferecidos possibilidades com técnicas de orientação-objeto.
O escritor de relatórios do Access, mesmo sendo capaz da criação sofisticada de relatórios, não é tão potente quanto outro escritor de relatórios de dados chamado Crystal Reports. MSDE (Microsoft SQL Server Desktop Engine) 2000, a mini-versão do MS SQL Server 2000, é incluído com a edição de desenvolvedor do Office XP e pode ser usado ao lado do Access como uma alternativa ao Jet Database Engine.
A função "cortar e colar"(cut and paste) do Access pode torná-lo uma ferramenta útil para a conexão entre diversos bancos de dados (por exemplo, entre o Oracle e o Microsoft SQL Server durante conversões de dados ou bancos de dados).
O Access disponibiliza várias funções de exportação e importação (import and export), que permitem a integração entre o Windows e outras aplicações de plataforma, muitas das quais podem ser executadas dentro das próprias aplicações ou manualmente pelo usuário. Serve, como exemplo, o bastante compacto formato SNP para a compartilhação de relatórios perfeitamente formatados entre usuários que não dispõem de uma versão completa do Access.
Diferentemente dos RDBMS completos, o motor de banco de dados Jet da Microsoft não dispõe de gatilhos de bancos de dados e procedimentos armazenados (stored procedures).
A partir do MS Access 2000 (Jet 4.0), há um sintaxe que permite a criação de pedidos de busca com parâmetros, semelhante à criação de procedimentos.
O Microsoft Access permite que formulários contenham códigos que são ativados à medida que mudanças são feitas a uma tabela subjacente (contanto que as modificações sejam feitas apenas com aquele formulário), e é comum usar buscas "pass-through" e outras técnicas no Access para ativar procedimentos armazenados em RDBMSs que suportam este tipo de sistema.
Em arquivos de projeto de banco de dados do Access ADP (suportado em MS Access 2000 e adiante), as ferramentas relacionadas aos bancos de dados são completamente diferentes, uma vez que este tipo de arquivo é conectado ao MSDE ou ao Microsoft SQL Server, ao invés de usar o motor Jet. Deste modo, ele suporta a criação de quase qualquer objeto no servidor subjacente (tabelas com restrições e gatilhos, visualizações, procedimentos armazenados e UDF's).
Contudo apenas formulários, relatórios, macros e módulos são armazenados no arquivo ADP (outros objetos são armazenados no banco de dados "back end").

## Desenvolvimento

A linguagem de programação disponível no access é a Microsoft Visual Basic for Applications, igualmente a outros produtos da série Microsoft Office.
Duas bibliotecas de componentes COM de acesso de banco de dados são providenciadas: a legacy Data Access Objects (DAO), apenas disponível com o Access, e o novo ActiveX Data Objects (ADO).
O Microsoft Access é facilmente aplicado à projetos pequenos porém sofre problemas de escala com projetos maiores se as aplicações forem mal desenvolvidas.
Todas as buscas no banco de dados, formulários e relatórios são armazenados no banco de dados, e visando os ideais de um modelo relacional, não há possibilidade de montar uma hierarquia estruturada fisicamente a partir deles.
Uma técnica de desenvolvimento é dividir uma aplicação Access entre dados e programas. Um banco de dados deve conter apenas tabelas e relações, enquanto outro contém todos os programas, formulários, relatórios e pedidos de busca, assim como as conexões para as tabelas do primeiro banco de dados.
Infelizmente, o Access não permite trilhas quando são feitas as conexões, e o ambiente de desenvolvimento deve ter a mesma trilha do ambiente de produção (embora seja possível escrever sua própria rotina de "conexão dinâmica" em VBA, que pode procurar um arquivo "back end" específico através de uma pesquisa dentro da árvore do diretório, se não puder encontrá-lo no caminho atual). Esta técnica também permite que o desenvolvedor divida a aplicação entre arquivos diferentes, sendo então possível uma certa estrutura.

## Access 2010 (Service Pack 1)

No total foram 70 melhorias e correções realizadas no SP1 para o Access, entre elas:
* Adicionado um novo recurso para integrar o conteúdo da comunidade na Galeria de partes do aplicativo;
* Corrigido um problema que ocorre quando você tentar exportar um arquivo do Access para uma pasta de trabalho do Excel;
* Melhorado o desempenho quando for publicar formulários do cliente de acesso que contém imagens incorporadas.