Universidade do Access - Curso Completo - Do Básico Até a Criação de Sistemas Profissionais Completos - Passo a Passo
FORMAÇÃO ONLINE COM CERTIFICADO - 13 CURSOS - 574 VÍDEO-AULAS - 63:32 HORAS - CLIQUE AQUI
Você está em: PrincipalArtigosOffice : Vba_access_p14
Quer receber novidades e e-books gratuitos?

Tutorial de Programação VBA – Access – Parte 14 - Criando suas próprias funções e procedimentos

Objetivos:

Esta é a Parte 14 do Tutorial de Programação VBA no Access. Neste parte do tutorial falarei sobre um dos tópicos mais úteis no uso do VBA: Criação de Funções Personalizadas usando VBA. O objetivo desta série de tutoriais é mostrar como utilizar a programação VBA para solucionar problemas complexos no Access, problemas que muitas vezes não tem como ser resolvidos sem o uso de programação.

Pré-requisitos: Para acompanhar esta lição você deve dominar os conceitos apresentados no seguintes treinamento: "Curso Básico de Access" e no tutorial "Consultas Avançadas no Microsoft Access".

Nota: Este tutorial foi retirado da apostila da Semana 2, do Curso de Access Avançado e VBA. Você pode adquirir os três arquivos, com todo o conteúdo deste curso, em um total de 550 páginas de conteúdo, com exemplos detalhados, passo-a-passo, por apenas R$ 20,00 para envio através de Download. Para saber como adquirir este curso, Clique Aqui.

Criando suas próprias funções e procedimentos

Nessa parte do tutorial você aprenderá a criar nossas próprias funções e Sub-rotinas no Access, usando a programação VBA. O princípio por trás da criação de funções e sub-rotinas, é o de reaproveitamento de código e da facilidade de manutenção e atualização dos programas. Imagine que estejamos criando um banco de dados para cálculos financeiros, por exemplo, depreciação contábil. Vamos supor que em diversos locais, seja necessária a realização do cálculo de depreciação. Poderíamos colocar o código que faz o cálculo, em cada um dos locais onde ele será utilizado. Porém esta não é a melhor maneira de criarmos nossos programas. Imagine, por exemplo, quando fosse necessário alterar a maneira de realizar os cálculos. Teríamos que repassar todos os módulos de código, procurando os pontos onde o código está , e fazer as alterações, um a um. Sem contar que estaríamos criando códigos bastante longos, dependendo do número de cálculos necessários.

Para resolver estes problemas, poderíamos criar uma única função ou sub-rotina que faz os cálculos de depreciação. Depois, em cada local onde precisamos fazer os cálculos, é só chamar a função (ou sub-rotina), para fazer os cálculos. Quando fosse necessária a alteração da metodologia de cálculo, era só alterar a função (ou sub-rotina) e pronto, os novos cálculos passarão a ser feitos com base na nova metodologia. Isto poupa esforço, reduz o número de linhas de código, e facilita a manutenção, além de reduzir a possibilidade de erros.

Agora é chegada a hora de aprendermos a criar funções e sub-rotinas. Estes procedimentos/funções são criados em módulos separados, isto é, não ligados a nenhum formulário/relatório. Quando uma destas funções/procedimentos for necessária, basta chamar a respectiva função/procedimento, que o Microsoft Access se encarrega de localizar a função/procedimento, passar os parâmetros necessários (se for o caso) e receber os resultados retornados, caso seja uma função.

NOTA: Vamos falar um pouco mais sobre o termo Procedimento. Um procedimento é um grupo de instruções que pode ser chamado pelo nome atribuído ao procedimento. Neste contexto, funções e sub-rotinas, são tipos de procedimentos.

Criando e utilizando Sub-rotinas (funções ou procedimentos):

Uma sub-rotina é um grupo de comandos que podem ser executados, simplesmente através da chamada do nome da Sub-rotina. Podemos passar um ou mais argumentos para uma Sub-rotina. Quando uma sub-rotina é chamada, a execução desloca-se para dentro da Sub-rotina, depois de executados todos os comandos dentro da Sub-rotina, a execução do código continua, com o comando seguinte ao que chamou a Sub-rotina.

A sintaxe para declaração de uma Sub-rotina é a seguinte:

Sub Nome_da_Sub-rotina(argumento 1, argumento 2, ..., argumento n)

Comando 1

Comando 2

...

Comando n

End Sub

Uma Sub-rotina pode, ou não, conter argumentos. Caso sejam necessários argumentos, estes serão passados quando a Sub-rotina for chamada, e devem ser passados, na mesma ordem em que foram definidos.

DICA: Quando você criar Sub-rotinas, procure utilizar nomes que descrevam a função da Sub-rotina. Com isso você torna o entendimento do código mais fácil para quem for utilizá-lo.

Considere o seguinte exemplo de declaração de uma Sub-rotina:

Sub Calcula_imposto(salario, desconto, extras)

Comando1

Comando2

...

Comandon

End Sub

Neste caso, declaramos uma rotina chamada Calcula_imposto, a qual espera receber 3 parâmetros: salario, desconto e extras. Os parâmetros devem ser fornecidos nesta ordem, para que a Sub-rotina funcione corretamente.

Uma vez criada a Sub-rotina, podemos chamá-la, simplesmente digitando o nome da Sub-rotina, ou utilizando a palavra Call, mais o nome da Sub-rotina. Nos exemplos abaixo, temos dois métodos de chamada da Sub-rotina Calcula_imposto:

Calcula_imposto(1500,23,125)

ou

Call Calcula_imposto(1500,23,125)

Observe que os parâmetros são passados dentro do parênteses.

Também poderíamos declarar uma Sub-rotina, sem parâmetros. Neste caso posso simplesmente não utilizar os parênteses após o nome da Sub-rotina, ou utilizar um par de parênteses, sem nada dentro, conforme indicado a seguir:

Sub Nome_da_Sub-rotina

Comando1

Comando2

...

Comandon

End Sub

ou

Sub Nome_da_Sub-rotina( )

Comando1

Comando2

...

Comandon

End Sub

Por exemplo, poderíamos criar uma Sub-rotina que exibe uma Caixa de mensagem com a Data do sistema e a hora, no Formato indicado na Figura a seguir:

Poderíamos criar todos os comandos necessários, para exibir a hora e a data neste formato, cada vez que a exibição fosse necessária. Porém é mais prático criar uma Sub-rotina que faz este trabalho. Cada vez que precisarmos exibir a data e a hora neste formato, é só chamarmos a Sub-rotina.

Na Listagem a seguir temos o código da Sub-rotina exibe_data_hora(), a qual faz a exibição da data e da hora, no formato proposto pela Figura anterior.

Listagem– A Sub-rotina exibe_data_hora

Sub exibe_data_hora

mes_atual=Month(Date())

mes_nome=MonthName(mes_atual,False)

mensagem = "Ano atual: " & Year(Date()) & Chr(13)

mensagem = mensagem & "Mês atual: " & mes_nome & Chr(13)

mensagem = mensagem & "Hoje é dia: " & Day(Date())& Chr(13)

mensagem = mensagem & Chr(13) & "***************" & Chr(13)& Chr(13)

hora_atual = Hour(Time())

minuto_atual = Minute(Time())

secundo_atual = Second(Time())

mensagem = mensagem & "Hora atual: " & hora_atual & chr(13)

mensagem = mensagem & "Minuto atual: " & minuto_atual & chr(13)

mensagem = mensagem & "Secundo atual: " & secundo_atual

MsgBox mensagem

End Sub

Agora, cada vez que for necessário exibir a data e a hora nos formatos do exemplo, basta chamar a Sub-rotina exibe_data_hora, utilizando um dos seguintes comandos:

Call exibe_data_hora

ou

exibe_data_hora

Exercício : Abra o banco de dados de exemplos Northwind.mdb, o qual é instalado juntamente com o Access. Crie um novo módulo chamado Utilitários. Dentro deste módulo crie o procedimento exibe_data_hora. Salve o módulo. Abra um formulário de Teste no modo estrutura. Crie um botão chamado ExSupProc. Associe o seguinte código ao evento Ao clicar deste botão:

Call exibe_data_hora

Teste o funcionamento do botão.

Conclusão:

Neste parte do tutorial falei sobre um dos tópicos mais úteis no uso do VBA: Criação de Funções Personalizadas usando VBA. O objetivo desta série de tutoriais é mostrar como utilizar a programação VBA para solucionar problemas complexos no Access, problemas que muitas vezes não tem como ser resolvidos sem o uso de programação.

Nota: Este tutorial foi retirado da apostila da Semana 2, do Curso de Excel Avançado e VBA. Você pode adquirir os três arquivos, com todo o conteúdo deste curso, em um total de 550 páginas de conteúdo, com exemplos detalhados, passo-a-passo, por apenas R$ 20,00 para envio através de Download. Para saber como adquirir este curso, Clique Aqui.


você conhece a universidade do access?

Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela

Capa da Universidade do Access

Aplica-se ao Access 2019, 2016, 2013 e 2010!

13 Cursos - 574 Vídeo-Aulas - 63:32 horas

Para todos os detalhes, acesse:

https://juliobattisti.com.br/universidade-do-access.asp


Outras partes do Tutorial
Parte 1 - Programação com o Microsoft Access - Por que utilizar?
Parte 2 - Aprendendo VBA
Parte 3 - O Ambiente de Programação
Parte 4 - Anatomia dos Módulos do VBA
Parte 5 - Tipos de dados - Declaração e “tipo” de variável
Parte 6 - Fazendo cálculos e comparações com o VBA – Uso de Operadores
Parte 7 - O Escopo das variáveis, no VBA
Parte 8 - Estruturas para controle de fluxo em VBA
Parte 9 - Estruturas de repetição
Parte 10 - Funções, procedimentos e eventos com VBA
Parte 11 - Funções para conversão de tipos
Parte 12 - Funções para tratamento de String
Parte 13 - Funções para tratamento de Data e Hora
Parte 14 - Criando suas próprias funções e procedimentos
Parte 15 - Criando e utilizando Funções Personalizadas
Quer receber novidades e e-books gratuitos?

 
 

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2025 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI