Tutorial de Programação
VBA – Access – Parte 11 - Funções para conversão de tipos
Objetivos:
Esta é a Parte 11 do Tutorial de Programação
VBA no Access. Neste tutorial falarei sobre as funções para conversão de tipo de dados,
utilizadas na 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. Para saber como adquirir este curso,
Clique
Aqui.
Funções para conversão de tipos
Neste item aprenderemos a utilizar as principais funções para conversão de tipos. Existem situações em que um determinado tipo de dado, deve ser convertido para outro. Por exemplo, se tivermos um número, armazenado na forma de texto, precisamos convertê-lo para inteiro ou double, para que possamos realizar cálculos. Em uma das próximas partes deste tutoria, faremos um exemplo de cálculo do DV do CPF, onde o CPF é um valor do tipo texto. Ao extrairmos cada dígito do CPF, estes serão extraídos como caracteres de texto. Precisaremos utilizar uma função de conversão, para convertê-los para números, a fim de que possamos efetuar os cálculos necessários.
Na seqüência, apresento as principais funções de conversão, bem como um pequeno fragmento de código, exemplificando a utilização de cada uma delas.
Função Cbool
A função Cbool converte uma variável ou resultado de um expressão, para o subtipo Boolean. Qualquer número, com exceção do zero, é automaticamente convertido para Verdadeiro. O valor zero é sempre convertido para Falso. O argumento desta função, não pode ser Texto, caso contrário será gerado um erro em tempo de execução.
Observe este linha de código:
MsgBox cbool(10>25) & chr(13) & cbool(3)
Esta linha gera a mensagem indicada na Figura a seguir:
A expressão 10>25 é avaliada, como a expressão é falsa, a função Cbool retorna Falso. Já no segundo uso da função Cbool, foi passado o parâmetro 3 para a função. Qualquer valor diferente de zero (com exceção de texto), a função interpreta como Verdadeiro, o que é comprovado pela Figura anterior.
Função CByte
A função CByte converte uma variável ou resultado de um expressão, para o subtipo Byte. O valor a ser convertido, deve estar na faixa aceitável para o tipo byte, que vai de 0 à 255. Caso o número esteja fora desta faixa, será gerada uma mensagem de erro, em tempo de execução. O argumento desta função, não pode ser Texto, caso contrário será gerada uma mensagem de erro, em tempo de execução.
Observe este linha de código:
MsgBox CByte(10+34) & chr(13) & CByte(35)
Esta linha gera a mensagem indicada na Figura a seguir:
A expressão 10+34 é calculada, e o resultado (44), é convertido para o tipo byte. A linha de código abaixo, irá gerar uma mensagem de erro, em tempo de execução, pois o valor a ser convertido para byte, está fora da faixa de 0 à 255.
MsgBox CByte(100+200)
Função CCur
A função CCur converte uma variável ou resultado de um expressão, para o subtipo Currency. O argumento desta função, não pode ser Texto, caso contrário será gerado um erro.
Observe este linha de código:
MsgBox CCur(250.335677+324.3333) & chr(13) & CCur(1250.326582)
Esta linha gera a mensagem indicada na Figura a seguir:
A expressão 250.335677+324.3333 é calculada, e o resultado é convertido para o tipo Currency.
Se passarmos um argumento de texto para a função CCur, será gerado um erro de execução, conforme indicado na Figura a seguir:
Função Cdate
A função CDate converte uma variável ou resultado de um expressão, para o subtipo Date. O argumento desta função deve estar em um formato que seja aceitável para datas, caso contrário será gerada uma mensagem de erro, em tempo de execução.
Observe este linha de código:
MsgBox CDate("31/10/1980") & chr(13) & CDate("23-01-2007")
Esta linha gera a mensagem indicada na Figura a seguir:
A linha de código abaixo, irá gerar uma mensagem de erro, em tempo de execução, conforme indicado na próxima figura:
MsgBox CDate("31/02/1980")
Função CDbl
A função CDbl converte uma variável ou resultado de um expressão, para o subtipo Double. O argumento desta função não pode ser do tipo texto, caso contrário será gerada uma mensagem de erro, em tempo de execução.
Observe este linha de código:
MsgBox CDbl("4.940651247E-17")
Esta linha gera a mensagem indicada na Figura a seguir:
Função CInt
A função CInt converte uma variável ou resultado de um expressão, para o subtipo Integer. O argumento desta função não pode ser do tipo texto, caso contrário será gerada uma mensagem de erro, em tempo de execução.
Observe este linha de código:
MsgBox CInt(32.36) & Chr(13) & CInt(20.35+40.45)
Esta linha gera a mensagem indicada na Figura a seguir:
Função CLng
A função CLng converte uma variável ou resultado de um expressão, para o subtipo Long. O argumento desta função não pode ser do tipo texto, caso contrário será gerada uma mensagem de erro, em tempo de execução. O argumento também não pode estar fora da faixa admitida pelo subtipo Long, caso contrário será gerada uma mensagem de erro, em tempo de execução.
Observe este linha de código:
MsgBox CLng("3462315")
Esta linha gera a mensagem indicada na Figura a seguir:
Função CSng
A função CSng converte uma variável ou resultado de um expressão, para o subtipo Single. O argumento desta função não pode ser do tipo texto, caso contrário será gerada uma mensagem de erro, em tempo de execução. O argumento também não pode estar fora da faixa admitida pelo subtipo Single, caso contrário será gerada uma mensagem de erro, em tempo de execução.
Observe este linha de código:
MsgBox CSng("3.1418256927")
Esta linha gera a mensagem indicada na Figura a seguir:
Função CStr
A função CStr converte uma variável ou resultado de um expressão, para o subtipo String.
Observe este linha de código:
MsgBox CStr("12345" & " hectares de terra")
Esta linha gera a mensagem indicada na Figura a seguir:
Funções Int e Fix
As funções Int e Fix, retornam somente a parte inteira de um determinado número. A diferença entre as duas funções, é quando o número for negativo. Observe os exemplos abaixo:
Fix(-10.2) -> Retorna -10
Int(-10.2) -> Retorna -11
A função Int, retorna, no caso de números negativos, o primeiro número inteiro, menor ou igual ao parâmetro passado. No caso de -10.2, retornou -11. Já Fix, retorna, no caso de números negativos, o primeiro inteiro, maior ou igual ao parâmetro passado. No caso de -10.2, retornou -10.
Observe esta linha de código:
MsgBox Fix (-7.35) & Chr(13) & MsgBox Int(-7.35)
Esta linha gera a mensagem indicada na Figura a Seguir:
Com isso, terminamos a nossa apresentação sobre as principais funções para a conversão de tipos de dados. No próxima parte deste tutorial, apresentarei mais algumas funções do VBA, para operações com dados do tipo String e do tipo Data/Hora.
Conclusão:
Nesta parte do tutorial, falei sobre as funções para conversão de tipo de dados. Estas funções são muito utilizadas em rotinas de validação de dados, para garantir que os dados digitados em um campo, sejam do tipo correto.
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
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