Como executar o código VBA no Access 2007/2010/2013/2016/2019

Sem dúvida, a criação de banco de dados no Access com vários objetos, como relatórios, formulários e tabelas, é bastante fácil. Mas quando se trata de adicionar alguma programação para execução simultânea de objetos de banco de dados ou automatizar determinados processos. Então isso pode ser uma tarefa assustadora para executar…. não é?

Principalmente para aqueles que não têm muito conhecimento de codificação de programas. se você também estiver entre eles, este post certamente irá ajudá-lo para conseguir muito mais informações sobre a execução do código VBA no Access.

Entenda o código VBA do MS Access com exemplo:

Entenda o código VBA do MS Access com exemplo

No MS Access, a programação é a maneira pela qual podemos adicionar funcionalidades ao nosso banco de dados. basicamente é feito de duas maneiras:

  • usando macros do Access
  • ou código do Visual Basic for Applications (VBA)

Suponha, por exemplo, que você tenha feito um relatório ou formulário no banco de dados do Access. agora você deseja adicionar um botão de comando nesse formulário. Para que, ao ser clicado, abra automaticamente o relatório.

Nesse caso, a programação é usada para criar um procedimento de macro ou VBA para definir a propriedade do evento OnClick do botão de comando. Quando você clica no botão de comando, a macro e o procedimento são executados automaticamente em segundo plano. Assim, clicar no formulário do botão de comando do formulário abrirá o relatório.

Portanto, tudo o que você pode dizer, o código VBA no Access permite adicionar automação e várias funcionalidades ao seu aplicativo de banco de dados do Access.

O que é o editor VBA?

O que é o editor VBA

  • Bem, para a programação no Access, usamos o editor VBA. Para iniciar o editor VBA, primeiro você precisa ir para a opção de criação.
  • Depois toque no botão do módulo na janela do seu banco de dados.
  • Isso abrirá o editor VBA.

Como você pode ver na figura, existem várias partes nesse editor de VBA. Então, vamos discutir sobre cada seção em detalhes:

  • o canto superior esquerdo é chamado de janela do projeto. Isso contém uma lista de todos os elementos e módulos definidos no banco de dados.
  • abaixo da janela do projeto, há uma janela de propriedades. Neste, você pode especificar atributos diferentes para os objetos que você usou na janela do projeto.
  • Na parte inferior da tela, há uma janela imediata. Aqui você pode testar as partes do procedimento enquanto isso é desenvolvido. Além disso, também pode ser usado para obter resultados imediatos de vários comandos. A janela imediata é muito útil durante o procedimento de teste e depuração.

Benefícios do uso do código VBA no Access:

Benefícios do uso do código VBA no Access:

Aqui estão algumas razões básicas pelas quais você precisa usar as áreas de código do MS Access VBA.

  1. Gerenciar procedimentos reutilizáveis menores (globalmente)
  2. Crie suas próprias funções definidas
  3. na memória retém variáveis (globalmente)
  4. Anexe o código a um evento, ou seja, um botão em um formulário
  5. Gerenciar procedimentos mais poderosos que uma macro do Access não possui
  6. Terminar facilmente com outros aplicativos e plataformas
  7. manipule de forma inteligente os erros de tempo de execução do Access

Para aprender o Código VBA do Access, você não precisa ser um programador. O fator importante para programar com êxito com o Access VBA é até que ponto você conhece a estrutura do MS Access, geralmente denominada tabelas, consultas, formulários, relatórios e macros. É um recurso muito poderoso do Access para identificar onde o VBA deve superar e melhorar a funcionalidade.

Como executar o código VBA no MS Access

Como executar o código VBA no MS Access

Código VBA para executar uma consulta no MS Access

Procurando o código VBA para executar a consulta no MS Access? Nesse caso, verifique as etapas completas para realizar esta tarefa.

Você pode usar a sintaxe do VBA para executar a consulta no MS Access.

DoCmd.OpenQuery “Nome da Consulta”

Lembre-se de que “nome da consulta” não deve ser mantido entre colchetes “[]”.

Etapas para criar um VBA para executar uma consulta no MS Access

Suponha que você tenha um banco de dados do Access que contenha uma consulta denominada “max_sales”.

Então, aqui está a etapa completa que você precisa seguir para criar um VBA para executar a consulta “max_sales”:

Etapa 1: adicionar um formulário de access

Primeiro, abra o aplicativo de acesso ao MS e, em seguida, adicione um formulário de acesso.

Código VBA para executar uma consulta no MS Access 1

Para adicionar um formulário, você deve ir para a guia criar e depois tocar no ícone do formulário apresentado sobre a faixa de opções do MS Access:

Etapa 2: Coloque um botão

Na próxima etapa, você precisa colocar um botão no formulário. Para esta tarefa, clique no ícone do botão presente na faixa de opções do Access. Depois dessa posição, esse botão no seu formulário.

Código VBA para executar uma consulta no MS Access 2

Você notará que após colocar o botão no formulário do Access, o Assistente de botão de comando aparecerá na sua tela. Se você não precisar deste Assistente de botão de comando, poderá pressionar o botão Cancelar.

Etapa 3: abrir a tela do VBA

Para anotar o código VBA do botão, é necessário abrir a tela do editor VBA. Toque com o botão direito do mouse no botão e escolha a opção ‘Build Event…‘.

Código VBA para executar uma consulta no MS Access 3

Depois, escolha a opção Code Builder e toque na opção OK:

Código VBA para executar uma consulta no MS Access 4

Etapa 4: escreva o VBA para executar a consulta

É hora de escrever o código VBA para executar a consulta.

Confira o código VBA completo, como mostrado no exemplo abaixo (onde “max_sales” é o nome da consulta):

Private Sub Command0_Click() 

DoCmd.OpenQuery “max_sales” 

End Sub

É assim que o VBA aparecerá no Access:

Código VBA para executar uma consulta no MS Access 5

Etapa 5: visualizar os resultados

Após anotar esses códigos VBA, economize seu tempo. Agora volte ao seu formulário do Access e mude para a exibição de formulário.

Para alternar facilmente para a exibição de formulário, clique no ícone de exibição presente na guia Design. Agora, na lista suspensa, escolha a exibição do formulário.

Código VBA para executar uma consulta no MS Access 6

Por fim, toque no botão para executar a consulta “max_sales”. Agora você pode executar uma consulta usando o código VBA simplesmente tocando no botão

Código VBA para executar uma consulta no MS Access 7

Código VBA para executar  relatório no Access

Código VBA para executar  relatório no Access

O método DoCmd.OpenReport é usado para abrir o relatório. Você pode usar esse método DoCmd.OpenReport para abrir um relatório no modo de design, Imprimir relatório, Exibir relatório, Visualizar impressão, Exibir layout.

Aqui está a sintaxe que você deve usar:

DoCmd.OpenReport (ReportName, View, Filter, WhereCondition, DataMode, WindowMode, OpenArgs)

Descrição da sintaxe acima:

– ReportName:

Indica o nome do relatório no banco de dados atual. Precisa de argumento e deve ser escrito entre aspas duplas.

– Visão:

Alguns tipos comuns de exibição de relatório, como acViewNormal, acViewPreview, acViewLayout, acViewDesign e assim por diante.

Você pode selecionar qualquer um desses tipos para especificar seu relatório quando ele for aberto.

– Filtro:

É um nome de consulta que aparece no banco de dados atual. então, defina-o entre aspas duplas.

você também pode gostar:

4 correções rápidas e fáceis para corrigir erros de colar no Access

– WhereCondition:

Nesse local, a cláusula SQL é usada sem a palavra WHERE. Portanto, você precisa mantê-lo entre aspas duplas.

– DataMode:

Nesse argumento, você deve especificar o modo de entrada de dados para o seu relatório. bem, o modo pode ser o modo de edição ou apenas o modo de leitura.

– Modo janela:

Quando um relatório for aberto, especifique o modo da janela.

Além disso, você pode abrir o relatório no seguinte modo: acDialog, acHidden, acIcon ou acWindowNormal.

     + acDialog: o relatório aberto é fixo e não pode ser movido.

     + acHidden: nesse modo, o relatório aberto fica oculto.

     + acIcon: o relatório aberto aparece como um ícone.

     + acWindowNormal: nesse modo, o relatório aberto aparece como o relatório de exibição.

– OpenArgs:

Usando esse argumento, você precisa especificar o registro quando o relatório for aberto.

E você precisa mantê-lo entre aspas duplas.

Observação:

Todos os argumentos mencionados acima na sintaxe DoCmd.OpenReport são opcionais, excluindo o argumento ReportName.

suponha que você tenha um formulário como este:

se você estiver abrindo um formulário pela primeira vez, o registro atual é Cate001. Para imprimir esta categoria, toque no botão Imprimir relatório. Ele exibirá o relatório Cate001 junto com os produtos que ele continha.

Para imprimir o registro Cate002, primeiro é necessário alternar para esse registro. Depois toque no botão Imprimir relatório.

Mas se você precisar imprimir Cate003, Cate004, Cate005 e assim por diante. Então você deve criar um relatório de detalhes mestre, como mostra a figura:

Depois disso, você precisará aplicar o código VBA no procedimento de evento CmdPrint_Click, assim:

Private Sub CmdPrint_Click()
DoCmd.OpenReport “RptProductByCategory” _
, acViewReport, , “CategoryID='” & txtCategoryID & “‘”
End Sub

Para chamar o relatório do VBA, tente o seguinte código VBA:

Sub runReport()

    Dim con As ADODB.Connection

     Set con = New ADODB.Connection

     con.Open “Provider=Microsoft.Jet.OLEDB.4.0;” & _

       “Data Source=C:\mydb.mdb;”

     DoCmd.OpenReport “rptCustomer”, acViewPreview

End Sub

Código VBA do MS Access para abrir outro banco de dados

Código VBA do MS Access para abrir outro banco de dados

Você sabia que pode iniciar outro banco de dados dentro do banco de dados atual? Bem, isso pode ser feito de três maneiras diferentes. Então é só conferir…!

  • Método FollowHyperlink
  • Concha
  • Automação de acesso

Método 1: Método FollowHyperlink

O FollowHyperlink é um método nativo do banco de dados do Access e o usuário pode abrir qualquer tipo de arquivo usando o programa padrão associado a ele.

Como é um comando nativo do MS Access, você não pode usar outros programas como (Word, Excel, PowerPoint …).

Public Function OpenDb3(sDb As String)  

 On Error GoTo Error_Handler    

Application.FollowHyperlink sDb Error_Handler_Exit: 

   On Error Resume Next  

 Exit Function Error_Handler:   

MsgBox “The following error has occurred” & vbCrLf & vbCrLf & _         

 “Error Number: ” & Err.Number & vbCrLf & _         

 “Error Source: OpenDb3” & vbCrLf & _        

   “Error Description: ” & Err.Description & _         

  Switch(Erl = 0, “”, Erl <> 0, vbCrLf & “Line No: ” & Erl) _       

    , vbOKOnly + vbCritical, “An Error has Occurred!”  

 Resume Error_Handler_Exit

End Function

Método 2: Concha

Shell é um comando universal que pode ser usado para executar muitas tarefas. Além de ter uma longa lista de recursos, também é usado para iniciar programas e abrir arquivos. Você deve atribuir o arquivo .exe após o que a linha de comando sempre reconhece por cada um dos arquivos exe.

Como o MS Office é bem registrado, é parte da variável do caminho. Portanto, você não precisa fornecer o caminho para o arquivo msaccess.exe, basta fornecer o arquivo ou o caminho para abrir.

Se você possui várias versões do MS Office instaladas no seu PC e precisa usar uma versão específica. nesse caso, você precisará incluir o caminho / arquivo do banco de dados executável do Access.

Public Function OpenDb2(sDb As String)

    On Error GoTo Error_Handler

     Shell “cmd /c ” & Chr(34) & sDb & Chr(34), vbHide Error_Handler_Exit:  

 On Error Resume Next  

 Exit Function Error_Handler:  

  MsgBox “The following error has occurred” & vbCrLf & vbCrLf & _       

    “Error Number: ” & Err.Number & vbCrLf & _      

     “Error Source: OpenDb2” & vbCrLf & _        

   “Error Description: ” & Err.Description & _     

      Switch(Erl = 0, “”, Erl <> 0, vbCrLf & “Line No: ” & Erl) _

    , vbOKOnly + vbCritical, “An Error has Occurred!”  

 Resume Error_Handler_Exit

End Function

Método 3: Access automação de

Access automação de é a excelente opção para executar qualquer ação desejada e, obviamente, abrir o banco de dados também.

PublicFunction OpenDb(sDb AsString)  

OnErrorGoTo Error_Handler   

‘Early binding  

‘Use a seguinte linha se estiver sendo usado no Access ou usando a referência do Access

    ‘fornece intellisense!

Dim oAccess               As Access.Application   

  ‘Late binding  

‘Use a seguinte linha se estiver sendo usado fora do Access sem uma referência do Access’

Dim oAccess        As Object  

Set oAccess = CreateObject(“Access.Application”)    ‘Create a new Access instance  

With oAccess      

  .OpenCurrentDatabase sDb    ‘Open the specified db     

   .Visible = True             ‘Ensure it is visible to the end-user       

.UserControl = True‘    

    .DoCmd.OpenForm “YourFormName”   ‘Open a form?’     

   .DoCmd.RunMacro “YourMacroName”  ‘Run a Macro?    

EndWith

Error_Handler_Exit: 

OnErrorResumeNext

IfNot oAccess IsNothingThenSet oAccess = Nothing

ExitFunction

Error_Handler: 

   MsgBox “The following error has occurred” & vbCrLf & vbCrLf & _     

      “Error Number: ” & Err.Number & vbCrLf & _      

     “Error Source: OpenDb” & vbCrLf & _     

      “Error Description: ” & Err.Description & _       

    Switch(Erl = 0, “”, Erl <> 0, vbCrLf & “Line No: ” & Erl) _       

    , vbOKOnly + vbCritical, “An Error has Occurred!”  

Resume Error_Handler_Exit

EndFunction

Automatize o Access de outro aplicativo do MS Office usando o VBA

Automatize o Access de outro aplicativo do MS Office usando o VBA

Biblioteca de Objetos de Access VBA

Para automatizar o acesso de outro aplicativo do MS office usando o VBA. Ou se você precisar usar objetos de outros aplicativos como Microsoft Excel ou Word no Access. Para tornar essas tarefas possíveis, adicione referências à biblioteca de objetos. Basicamente, existem duas opções para executar esta tarefa:

  1. Vinculação antecipada
  2. Ligação tardia

O primeiro método é usado para adicionar referência à Microsoft Access Object Library, imediatamente antes da execução. Ele é executado mais rapidamente e você terá acesso fácil ao editor VBA intellisense.

Além disso, há chances de haver problemas de compatibilidade ao executar um programa de PC com uma versão diferente da biblioteca instalada.

Método 1: Vinculação antecipada

Neste método específico, você precisa adicionar referência ao Microsoft Access Object.

  1. Vá para a janela do editor VBA e toque no botão “Ferramentas” presente na barra de menus.
  2. Agora, na lista suspensa, escolha a opção “Referências”.
  3. Posteriormente, a caixa de diálogo “Referências – Projeto 1” será exibida.
  4. Nesta caixa de diálogo, você pode arrastar a barra de rolagem até buscar o que deseja como “Biblioteca de Objetos do Microsoft Access14.0”.
  5. Agora, marque a caixa de seleção presente na frente deste objeto.
  6. Por fim, toque na opção “OK”.
  7. Após esta etapa, você adicionou com êxito a referência da biblioteca de objetos do Access.

Bem, você pode usar as etapas acima para adicionar bibliotecas de objetos conforme sua exigência.

Ter um olhar:

Como converter banco de dados Access de Accdb para formato de arquivo Mdb?

Nota:

Use o código a seguir para definir um objeto Access.Application e iniciá-lo:

Dim objAccess As Access.Application
set objAccess = new Access.Application

Método 2: vinculação tardia

Este método não requer nenhuma adição de referência à biblioteca de objetos. O objeto Access.Application é declarado como um objeto normal e iniciado como mostrado aqui:

Dim objAccess As Object
Set objAccess = CreateObject(“Access.Application”)

Como conectar o Access e o Excel através do VBA:

Como conectar o Access e o Excel através do VBA

Nesta seção, discutiremos sobre como conectar o banco de dados do Access ao Excel, usando o código VBA.

Aqui está como você pode configurar a conexão com o banco de dados do Access. A cadeia de conexão usada para o acesso 2003 (*. Mdb) e o Access 2007/2010 (* .accdb) é diferente porque a versão do banco de dados possui drivers diferentes.

Para o banco de dados do Access 2003, o provedor é: Provider = Microsoft.Jet.OLEDB.4.0.

Para o Access 2007/2010, o provedor é Provider = Microsoft.ACE.OLEDB.12.0

Antes de executar o código mencionado abaixo, você precisa adicionar referências para a Conexão do DB do ADO.

 Siga estas etapas para Adicionando referência:

Como adicionar referências no excel

  1. Abra a tela do VB Editor pressionando Alt + F11
  2. Ferramentas -> Referências…
  3. Na lista de referências disponíveis, procure a “Biblioteca Microsoft ActiveX Data Objects 2.0”. Escolha a versão 2.0 ou qualquer outra referência de versão superior.
  4. Toque na opção OK.

Conexão com o banco de dados Access 2003

Sub ADO_Conn() 

Dim conn As New Connection

Dim rs As New Recordset    

strcon = “Provider=Microsoft.Jet.OLEDB.4.0;” & _   

“Data Source=E:\Student.accdb;” & _  

“User Id=admin;Password=”    

conn.Open (strcon)    

qry = “SELECT * FROM students”  

rs.Open qry, conn, adOpenKeyset    

rs.Close 

conn.Close 

End Sub

Conexão com o banco de dados Access 2010/2007

Sub ADO_Conn()

Dim conn As New Connection

Dim rs As New Recordset    

strcon = “Provider=Microsoft.ACE.OLEDB.12.0;” & _  

 “Data Source=E:\Student.accdb;” & _ 

“User Id=admin;Password=”     conn.Open (strcon)  

qry = “SELECT * FROM students”   

rs.Open qry, conn, adOpenKeyset    

rs.Close   

conn.Close

End Sub

Embrulhar:

Se você entender o conceito de como executar o código VBA no Access em várias circunstâncias, comece bem usando essas técnicas. não tenha medo de experimentar …!

Ainda está com problemas? Corrija-os com Stellar reparação para Access:

Este software garante sem costura reparo e recuperação do banco de dados ACCDB e MDB. Ele restaura todos os objetos, incluindo tabelas, relatórios, consultas, registros, formulários e índices, juntamente com módulos, macros, etc. Corrija os problemas do Microsoft Access agora em 3 etapas fáceis:

  1. Baixar Stellar Access banco de dados reparo ferramenta avaliado Excelente sobre Cnet.
  2. Clique nas opções Browse e Pesquisa para localizar um banco de dados corrompido do Access.
  3. Clique no botão Reparar para reparar e pré-visualização os objetos do banco de dados.

Pearson Willey é escritor de conteúdo de sites e longo- planejador de conteúdo do formulário. Além disso, ele também é um ávido leitor. Assim, ele sabe muito bem como escrever um conteúdo atraente para os leitores. Escrever é como uma vantagem crescente para ele. Ele adora explorar seu conhecimento no MS Access e compartilhar blogs de tecnologia.