VBA - Acessando o Access 2007 Com Excel

7
VBA Acessando o Access 2007 com o Excel Vou mostrar como podemos automatizar o Microsoft Excel usando a linguagem VBA através da criação de um programa para acessar um banco de dados Access 2007 e exibir os registros de uma tabela na planilha Excel. É uma aplicação simples que mostra aos iniciantes e interessados automatizar tarefas no Microsoft Excel usando a linguagem VBA. Só isso. Os recursos usados no projeto deste artigo foram: Microsoft Excel versão 2007; Microsoft Access 2007; Conhecimentos básicos sobre planilhas , células, e Visual Basic; Antes de iniciar temos que realizar duas configurações no Microsoft Excel 2007: Ativar a guia do desenvolvedor; Habilitar a execução de macros; Obs: A necessidade de habilitar a execução de macros é que por padrão, o Excel coloca um nível de segurança mais elevado pois códigos maliciosos podem ser executados em scripts através de macros no Excel. Vamos ativar a guia do desenvolvedor e logo em seguida habilitar a execução de macros. Para ativar a guia do desenvolvedor (se ainda não estiver ativa) siga os seguintes passos: Abra o Excel 2007 e ative o Menu principal de opções clicando no botão superior a esquerda, conforme a figura abaixo; A seguir clique na guia Opções do Excel para abrir a janela ‐ Opções do Excel;

description

VBA - Acessando o Access 2007 Com Excel

Transcript of VBA - Acessando o Access 2007 Com Excel

  • 20/06/2015 VBAAcessandooAccess2007comExcel

    http://www.macoratti.net/11/06/vba_acc1.htm 1/7

    VBAAcessandooAccess2007comoExcel

    Vou mostrar como podemos automatizar o Microsoft Excel usando a linguagem VBA atravs da criao de um programa paraacessar um banco de dados Access 2007 e exibir os registros de uma tabela na planilha Excel.

    uma aplicao simples que mostra aos iniciantes e interessados automatizar tarefas no Microsoft Excel usando a linguagem VBA.S isso.

    Os recursos usados no projeto deste artigo foram:

    Microsoft Excel verso 2007;Microsoft Access 2007;Conhecimentos bsicos sobre planilhas , clulas, e Visual Basic;

    Antes de iniciar temos que realizar duas configuraes no Microsoft Excel 2007:

    Ativar a guia do desenvolvedor;Habilitar a execuo de macros;

    Obs: A necessidade de habilitar a execuo de macros que por padro, o Excel coloca um nvel de segurana mais elevado poiscdigos maliciosos podem ser executados em scripts atravs de macros no Excel.

    Vamos ativar a guia do desenvolvedor e logo em seguida habilitar a execuo de macros.

    Para ativar a guia do desenvolvedor (se ainda no estiver ativa) siga os seguintes passos:

    Abra o Excel 2007 e ative o Menu principal de opes clicando no boto superior a esquerda, conforme a figura abaixo;

    A seguir clique na guia Opes do Excel para abrir a janela Opes do Excel;

  • 20/06/2015 VBAAcessandooAccess2007comExcel

    http://www.macoratti.net/11/06/vba_acc1.htm 2/7

    Nesta janela, selecione o item Mais Usados e a seguir marque o item Mostrar guia Desenvolvedor na Faixa de Opes eclique no boto OK;

    No menu do Excel selecione a guia do Desenvolvedor e em seguida clique em Segurana de Macro;

    Na janela Central de Confiabilidade selecione a opo Configuraes de Macro e marque o item para habilitar todas as macrosconforme a figura abaixo:

    Pronto , feito isso j podemos iniciar o desenvolvimento da aplicao VBA no Excel 2007.

    Abra ento o Excel 2007 , ser aberta uma planilha em branco.

    Clique no menu Desenvolvedor e a seguir no submenu Inserir para abrir a caixa de controles de Formulrio;

    Selecione o primeiro Item da caixa Boto e a seguir com o mouse desenhe o boto em um local da planilha na qual voc desejaque o boto seja exibido;

  • 20/06/2015 VBAAcessandooAccess2007comExcel

    http://www.macoratti.net/11/06/vba_acc1.htm 3/7

    Ao desenhar o boto ser aberto a caixa Atribuir Macro onde vamos definir o nome de uma macro que iremos criar no evento doboto;

    Definimos ao evento Click do boto a rotina AcessaMDB que iremos criar me seguida;

    Antes de espiar o cdigo Visual Basic gerado selecione o boto e clique com boto direito do mouse e no menu suspenso selecione Editar Texto e altere o texto do boto para Acessar Dados;

  • 20/06/2015 VBAAcessandooAccess2007comExcel

    http://www.macoratti.net/11/06/vba_acc1.htm 4/7

    Agora clique no submenu Visual Basic para abrir a janela do editor de Cdigo:

    Com a janela do editor Microsoft Visual Basic aberta podemos visualizar o cdigo do Modulo1 que mostra a rotina acessaMDBatribuda ao evento Click do boto;

    Vamos incluir um novo Modulo e para isso clique com o boto direito do mouse sobre a Pasta Mdulos e selecione as opesInserir>Mdulo;

  • 20/06/2015 VBAAcessandooAccess2007comExcel

    http://www.macoratti.net/11/06/vba_acc1.htm 5/7

    Vamos aceitar o nome Modulo2 dado por padro ao novo mdulo e a seguir definir a rotina AcessaMDB() conforme o cdigo abaixoneste mdulo:

    Este cdigo usa a ADO para acessar o banco de dados criando as variveis objeto rs do tipo Recordset e cn do tipo Connection;

    Aps abrir a conexo usando a string de conexo : "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=c:\dados\TesteAccess2007.accdb;Persist Security Info=False"

    Geramos o Recordset usando a instruo SQL Select * from Teste onde Teste o nome da tabela;

    Em seguida a linha de cdigo: ActiveWorkbook.Sheets("Plan1").Cells(1, 1).CopyFromRecordset rs

    Copia os dados da tabela para a planilha Plan1 a partir da clula(1,1).

    Aps isso clique cone para Salvar o cdigo e retorne ao Excel clicando no cone do mesmo no menu da janela de cdigo.

    Eu criei um banco de dados chamado TesteAccess2007.accdb no Access 2007 e o coloquei na basta c:\dados;

    Neste banco de dados eu criei uma tabela chamada Teste com os seguintes dados:

  • 20/06/2015 VBAAcessandooAccess2007comExcel

    http://www.macoratti.net/11/06/vba_acc1.htm 6/7

    Nosso objetivo acessar a tabela Teste e copiar os dados da tabela para planilha a partir a clulas 1,1;

    Abrindo a planilha no Excel iremos ver a planilha vazia o boto de comando :

    Clicando no boto de comando iremos chamar a rotina acessaMDB que ir copiar os dados da tabela Teste para a planilha:

    Para salvar a sua planilha clique no boto Salvar Como e selecione Pasta de Trabalho Habilitada para Macros no Excel:

  • 20/06/2015 VBAAcessandooAccess2007comExcel

    http://www.macoratti.net/11/06/vba_acc1.htm 7/7

    E dessa forma usando VBA vimos como acessar um banco de dados Access 2007 usando o Excel 2007 e copiar os dados de umatabela para o Excel.

    Pegue o projeto completo aqui: AcessoAccess2007_VBA.zip (Obs: O banco de dados voc mesmo pode criar)

    Eu sei apenas Visual Basic for Applications (VBA), mas eu gosto...

    "Em verdade , em verdade vos digo que vem a hora, e agora , em que os mortos ouviro a voz do Filho de Deus, e os que aouvirem vivero."(Joo5:25)

    Referncias:

    VBA Cadastro de Clientes (Excel)VB .NET Incluindo uma tabela do Word em um DataGridViewSeoVBA do Site

    Jos Carlos Macoratti