Criando uma calculadora simples no Access 2010 com VBA - Vamos praticar!

 
 
E ai vai um excelente exercício e complemento pro módulo de Access 2010. Que tal colocar uma calculadora rápida para treinar seu VBA em Access?
 
Crie um formulário e quando for criar os módulos use a codificação abaixo. Boa sorte e se puder comente o resultado.
 
 
 
 
  • Clique com o botão direito do mouse em cima do botão que vai receber o código e lembre que cada sub levou o nome do botão como padrão para facilitar a programação.
  •  
  • Depois de clicar no Construtor de eventos, selecione a terceira opção para construirmos um código.
  •  
  • Feito isso vá até inserir Módulo e só depois comece a programação.
 
 
 
Bóra programar... coloque os códigos e note que fiz algumas anotações para ajudar a identificar o que foi feito. Sempre que possível comente seu código para facilitar ações futuras de suporte.
 
 

Option Compare Database
Option Explicit
______________________________________________________________________
 
Private Sub cmdArredondar_Click()
If IsNumeric(txtResultado) Then
    Me.txtResultado = Int(Me.txtResultado) 'int arredonda para um número inteiro sempre para menos
Else
    MsgBox "Resultado deve conter números Refaça os cálculos.", vbCritical, "Atenção"
End If
    'No VBA o resultado armazenado na memória pode ser usado agora, o que não é possivel no excel por gerar uma referência circular
End Sub
______________________________________________________________________
 
Private Sub cmdDividir_Click()
    Call testar
     Me.txtResultado = Me.txtNum1 / Me.txtNum2
End Sub
Private Sub cmdLimpar_Click()
    Me.txtNum1 = "" 'Pode-se usar null, "" ou empty para informar vazio
    Me.txtNum2 = Null
    Me.txtResultado = Empty
End Sub
______________________________________________________________________
 
Private Sub cmdMultiplicar_Click()
    Call testar
     Me.txtResultado = Me.txtNum1 * Me.txtNum2
End Sub
______________________________________________________________________
 
Private Sub cmdpotencia_click()
Dim resposta As String
Dim potencia As String
Call testar
resposta = MsgBox("Deseja calcular a Potência com o Número1 ou com o Número2?" _
& vbLf & "Sim=Número1 e Não=Número2", vbYesNo + vbQuestion, "Cálculo de Raiz")
If resposta = vbYes Then
    potencia = InputBox("Qual é a potência desejada?" & vbLf & "Digite números inteiros.")
    If IsNumeric(potencia) Then
        Me.txtResultado = Me.txtNum1 ^ potencia
        MsgBox "Potência com o número 1!"
    Else
        MsgBox "Favor digitar uma potência númerica."
        End
    End If
Else
    potencia = InputBox("Qual é a potência desejada?" & vbLf & "Digite números inteiros.")
    If IsNumeric(potencia) Then
        Me.txtResultado = Me.txtNum2 ^ potencia
        MsgBox "Potência com o número 2!"
    Else
        MsgBox "Favor digitar uma potência númerica."
    End If
End If
End Sub
______________________________________________________________________
 
Private Sub cmdRaiz_Click()
Dim resposta As String
    Call testar
    resposta = MsgBox("Deseja fazer rais quadrada do Número1?", vbYesNo + vbQuestion, "Calculo de Raiz")
    If resposta = vbYes Then
        Me.txtResultado = Sqr(Me.txtNum1) 'Sqr é usado para calcular a raiz quadrada
        MsgBox "Raiz quadrada do número1"
    Else
        Me.txtResultado = Sqr(Me.txtNum2)
        MsgBox "Raiz quadrada do número2"
    End If
End Sub
______________________________________________________________________
 
'Este botão deve somar duas caixas de texto e mostrar na caixa de resultado
Private Sub cmdSomar_Click() 'Quando o usuário clicar no cmdSomar, será chamado o procedimento testar
    Call testar
    Me.txtResultado = CSng(Me.txtNum1) + CSng(Me.txtNum2)
End Sub
Sub testar()
If Not IsNumeric(Me.txtNum1) Or Not IsNumeric(Me.txtNum2) Then 'Aparece a caixa de mensagem se o Me.txtNum1 e Me.txtNum2 não forem numéricos
    'Use o me para puxar os itens que existem no formulário
    'Quando iniciado com c estamos informando que o dado ali esta sendo convertido para um determinado formato
    MsgBox "Fanfarrão digite apenas números", vbCritical, "Atenção" 'vbCritical vai adicionar um icone a msgbox
    End
End If
End Sub
______________________________________________________________________
 
Private Sub cmdSubtrair_Click()
    Call testar
     Me.txtResultado = Me.txtNum1 - Me.txtNum2
End Sub

Postar um comentário

Comente sem faltar com respeito - ;-)

Postagem Anterior Próxima Postagem