Hoje vamos aprender como integrar o aplicativo Excel com o aplicativo Access que é um banco de dados externo da própria Microsoft.
Saber criar uma conexão entre o banco de dados Access e Excel é uma habilidade extremamente valiosa para aqueles que desejam criar aplicativos mais robustos e eficientes no Excel VBA. Com esta habilidade, você pode automatizar tarefas, melhorar a integridade dos dados e obter informações mais precisas em menos tempo.
Sabemos também que o excel consegue armazenar 1 milhão de linhas, mas com todas essas linhas o aplicativo se tornaria muito lento, por isso a ideia de utilizarmos um banco de dados externo é muito mais eficiente além de ter uma maior segurança no armazenamento desses dados.
Para criarmos a conexão utilizamos o ADO (Activex Data Objects) que é um mecanismo com interface de alto nível e desempenho e pode ser aplicada em vários armazenamentos de dados.
Para podermos trabalhar com o modelo ADO e comandos SQL dentro do Excel usando VBA é necessário ativar a referência Microsoft Activex Data Object Recordset 6.0 Library.
E através de uma string de conexão criamos a conexão com o banco de dados Access.
O Microsoft Access é um sistema de gerenciamento de banco de dados da Microsoft poderoso e fácil de aprender. O Access segue a maioria, mas não toda, a terminologia tradicional de banco de dados.
Caso prefira ver esse conteúdo em formato vídeo-aula assista o vídeo abaixo:
CRIANDO UM BANCO DE DADOS NO ACCESS
Primeiramente vamos abrir o aplicativo Microsoft Access e criar um novo banco de dados caso ainda não tenha sido criado.
1º passo – Abrir o aplicativo Microsoft Access e clicar em “Banco de dados em branco” e renomear o nome do banco de dados e escolher a pasta onde vai ficar armazenado e clicar em “Criar”
2º Passo – Renomear o nome da tabela clicando em “Modo de Edição”
3º Passo – Criar as colunas do seu banco e estipular o tipo de dado que será armazenado.
4º Passo – Salvar alterações realizadas na tabela, clicando no “Modo de Exibição”
CRIANDO UM MÓDULO NO EXCEL VBA PARA CONEXÃO DOS DOIS APLICATIVOS
1º Passo – Abrir o aplicativo Microsoft Excel
2º Passo – Salvar o arquivo no formato (.xlsm) e na mesma pasta que o banco de dados
3º Passo – Pressione as teclas ALT + F11 ou ALT + FN + F11
4º Passo – Inserir um Módulo
5º Passo – Vamos ativar a referência Microsoft Activex Data Object Recordset 6.0 Library
6º Passo - Inserir no módulo criado o código abaixo:
Option Explicit
Sub ConectarBanco()
Dim Conexao As New ADODB.Connection
Dim BancoDados As String
Dim Wb As Workbook
Dim ConnectionString As String
Set Wb = wbApp
'wbApp.Path= Caminho da pasta onde o arquivo excel e o banco de dados está salvo
BancoDados = wbApp.Path & "\db.accdb"
ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & BancoDados & ";" & _
"Jet OLEDB:Database Password=MyDbPassword;"
If Conexao.State = 0 Then Conexao.Open ConnectionString
Conexao.Close
Set Wb = Nothing
End Sub
Explicação do código:
- Vamos utilizar de uma Sub para chamar a conexão com o banco de dados;
- Dimensionamento das variáveis:
- a variável “Conexao”, que vai representar uma conexão da biblioteca ADODB (abreviação para AdobeX Data Objects Database);
- a variável “Wb” que vai representar a planilha que estamos trabalhando;
- a variável “BancoDados” como uma String (texto)
- a variável “ConnectionString” como uma String (texto)
- A variável “BancoDados” vai receber o resultado da combinação do comando Path (que vai retornar o caminho da pasta da planilha que contém o código) e do nome do arquivo do banco de dados (extensão .accdb – Access database). Portanto, ela armazenará o caminho completo do banco de dados
- A variável “ConnectionString” vai receber a junção dos textos:
- “Provider=Microsoft.ACE.OLEDB.12.0;” Data Source=”
- O texto resultante da variável “BancoDados”
- “;Jet OLEDB;Database Password=MyDbPassword;”
- No final da sub vai ser invocada de fato a conexão entre o Excel VBA e Access conforme os parâmetros que estabelecemos.
DOWNLOAD CONEXÃO COM BANCO DE DADOS ACCESS
Até o próximo SelfBlog!
Fique ligado no nosso canal do Youtube para mais conteúdo de Excel VBA!
Hello! This is my first commment here soo I just wanted to
give a quick shout out and tell you I genuinely enjoy reading yoyr blog posts.
Can you recommend any other blogs/websites/forums that go over the
saje subjects? Thanks a lot! https://Evolution.org.ua/