Você está aqui: Principal > Artigos > Office
  :: Autor: Júlio Battisti   :: Site:     www.juliobattisti.com.br/
  :: Data:  30/11/2004   :: e-mail: webmaster@juliobattisti.com.br
LIVROS
Administração e Negóci...
Aplicativos
AutoCAD
Banco de Dados
Carreira e Trabalho
Criação de Sites e Web...
Cultura e Interesse Ge...
Engenharia Arquitetura...
Exames de Certificação
Excel
Finanças e Investiment...
Gráficos e CorelDraw
Hardware e Montagem
Office 2007
Programação
Redes
Segurança
Windows e Linux
Word
VÍDEO-AULAS
Access
Administração e Negócios
Banco de Dados
CAD
Concursos Públicos
Excel
Hardware e Montagem
Internet
PowerPoint
Programação
Programas Gráficos
Redes e TCP/IP
Vídeo e Áudio
Webdesign
Windows
Word
E-BOOKS
Access
Administração e Negócios
Área Gráfica
Banco de Dados
BrOffice
CAD
Certificações Microsoft
Concursos Públicos
Excel
Formação Pessoal e Profissional
Internet
Linux
Literatura e Outros
PowerPoint
Programação
Redes e TCP/IP
Vìdeo
Webdesign
Windows
Word

Tutorial de Programação VBA – Access – Parte 15

Objetivos:

Esta é a Parte 15 do Tutorial de Programação VBA no Access. Neste parte do tutorial falarei sobre a criação de funções personalizadas no Access, usando a programação 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 ou por R$ 30,00 para envio através de CD. Para saber como adquirir este curso,

acesse o endereço a seguir:

Criando e utilizando Funções Personalizadas:

Uma Função é um grupo de comandos que podem ser executados, simplesmente através da chamada do nome da Função. Podemos passar um ou mais argumentos para uma Função. Quando uma Função é chamada, a execução desloca-se para dentro da Função. Depois de executados todos os comandos dentro da Função, a execução do código continua, com o comando seguinte ao que chamou a Função. A diferença da Função para a Sub-rotina, é que a Função sempre retorna um ou mais valores para o comando que a chamou. É obrigatório que a função retorne um valor.

A sintaxe para declaração de uma Função é a seguinte:

Function Nome_da_Função(argumento1, argumento2, ..., argumenton)

Comando1

Comando2

...

Comandon

End Function

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

DICA: Quando você criar Função, procure utilizar nomes que descrevam os objetivos da Função. 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 Função:

Função Converte_para_dolar(valor_em_real, cotacao_dolar)

Comando1

Comando2

...

Comandon

End Function

Neste caso, declaramos uma Função chamada Converte_para_dolar, a qual espera receber 2 parâmetros: um valor em real e a cotação do dólar.

Uma vez criada a Função, devemos chamá-la, em um comando de atribuição, isto é, o valor retornado pela função, deve ser atribuído a uma variável ou exibido através de um comando como MsgBox. No exemplo abaixo, estamos atribuindo o valor de retorno da função, à variável valor_dolar.

valor_dolar = Converte_para_dolar (1500,1.81)

Também poderíamos exibir o valor retornado pela função, utilizando o comando MsgBox, conforme indicado a seguir:

MsgBox “Valor em dólar: “ & Converte_para_dolar (1500,1.81)

Observe que os parâmetros são passados dentro dos parênteses, e na mesma ordem definida quando da criação da função.

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

Function Nome_da_Função

Comando1

Comando2

...

Comandon

End Function

ou

Function Nome_da_Função( )

Comando1

Comando2

...

Comandon

End Function

Por exemplo, vamos criar uma função que converte um valor de um ângulo de Graus para Radianos. Depois utilizaremos a função dentro de um laço For...Next, para exibir o valor em radianos, para os ângulos de 0 à 20 graus.

No exemplo a seguir temos o código onde foi criada a função CRad, que converte um valor em graus para radianos. Depois utilizamos um laço for para exibir, através de uma Caixa de mensagem os valores em radianos, para os ângulos de 0 à 20 graus.

'Criação da função CRad.

Function CRad(valor_graus)

CRad = (valor_graus*3.14)/180

End Function

'Agora utilizamos a função dentro do laço For/Next.

For i=0 to 20

mensagem = mensagem & "Angulo: " & i & "Valor em Radianos: "

mensagem = mensagem & FormatNumber(CRad(i),5)& Chr(13)

Next

MsgBox mensagem

Observe que dentro da função, atribuímos a variável CRad um determinado valor. É isso que caracteriza uma função. Dentro do código da função, devemos atribuir a uma variável que tenha o mesmo nome da função, um determinado valor. Este valor é que será o valor de retorno da função.

Cabe salientar o uso da função FormatNumber, dentro do laço For. A função FormatNumber é utilizada para formatar a maneira como um número é exibido. Neste caso, utilizamos a função FormatNumber, para limitar o número de casas decimais, a 5 casas depois da vírgula.

Em cada "passada" do laço For...Next, chamamos a função CRad(i), para fazer a conversão de Graus para radianos. O Valor retornado pela função CRad, é passado para a função FormatNumber, para ser formatado com apenas 5 casas decimais.

Funções que serão utilizadas em vários Formulários/Relatórios, devem ser criadas em um Módulo de Código. Depois é só chamar a função onde esta for necessária.

Exercício : Crie uma função chamada ValorImpostoPF. Esta função deve receber os seguintes parâmetros:

  • Total de rendimentos - TotRed
  • Total de deduções - TotDed
  • Imposto retido na fonte - ImpRet

Com base na tabela oficial do IR, disponível em www.receita.fazenda.gov.br, a função calcula o imposto devido e informa se existe imposto a restituir ou a pagar e qual o respectivo valor. Criar um formulário chamado CalcIRPF, no qual temos três campos, um para cada parâmetro da função. O usuário preenche os valores deste campo e clica em um botão Calcular. O evento Ao clicar chama a função ValorImpostoPF e exibe o resultado dos cálculos.

Conclusão:

Neste parte do tutorial mostrei como criar funções personalizadas no Access, usando programação 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 ou por R$ 30,00 para envio através de CD. Para saber como adquirir este curso, acesse o endereço a seguir:

Outras partes do Tutorial
Parte 1
Parte 2
Parte 3
Parte 4
Parte 5
Parte 6
Parte 7
Parte 8
Parte 9
Parte 10
Parte 11
Parte 12
Parte 13
Parte 14
Parte 15



Uma verdadeira especialização em Access, com 1935 páginas de conteúdo que vai do básico ao avançado, detalhadamente explicado e exemplificado. Desde os recursos básicos, passando pelos recursos avançados, pela criação de macros e pela automação de tarefas usando programação VBA.

Apenas: R$ 79,00 (valor do frete já incluído)

CLIQUE AQUI PARA SABER COMO COMPRAR ESTE CD